关于python语言的笔记 v-3.1#
GitHub上的100天教程的同作者骆昊的知乎版本#
安装与第一个hello world#
这部分比较简单,我就不写了。注意一下,使用python –version和python -V来查询
变量与计算机常识#
-
计算机包括运算器,控制器(前两者一起叫做cpu)。存储器(内存与存储),输入设备和输出设备(I/O),
-
冯诺依曼结构的计算机
-
变量与类型:包括整数(int),浮点数(float),字符串(str),布尔(bool);在使用时注意大小写不要与关键字(if,else,…)和保留字撞车,名称通常用小写字母和和下划线连接,受保护的名称和私有的变量分别用一个和两个下划线开头
1
2
3
4
5
6
7
8
9
10
11
12
13
|
print(0b100) # 二进制整数,输出4
print(0o100) # 八进制整数,输出64
print(100) # 十进制整数,输出100
print(0x100) # 十六进制整数,输出256
---
print(123.456) # 数学写法,输出123.456
print(1.23456e2) # 科学计数法,输出123.456
---
print('jiangyuedabendan')
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
"""
使用变量保存数据并进行加减乘除运算
"""
a = 45 # 定义变量a,赋值45
b = 12 # 定义变量b,赋值12
print(a, b) # 45 12
print(a + b) # 57
print(a - b) # 33
print(a * b) # 540
print(a / b) # 3.75
"""
使用type函数检查变量的类型
"""
a = 100
b = 123.45
c = 'hello, world'
d = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'str'>
print(type(d)) # <class 'bool'>
"""
变量的类型转换操作
"""
a = 100
b = 123.45
c = '123'
d = '100' # d是a的字符串
e = '123.45'
f = 'hello, world'
g = True
print(float(a)) # int类型的100转成float,输出100.0
print(int(b)) # float类型的123.45转成int,输出123
print(int(c)) # strl类型的'123'转成int,输出123
print(int(c, base=16)) # str类型的'123'按十六进制转成int,输出291
print(int(d, base=2)) # str类型的'100'按二进制转成int,输出4
print(float(e)) # str类型的'123.45'转成float,输出123.45
print(bool(f)) # str类型的'hello, world'转成bool,输出True
print(int(g)) # bool类型的True转成int,输出1
print(chr(a)) # int类型的100转成str,输出'd'
print(ord('d')) # str类型的'd'转成int,输出100
|
变量的运算符和运算#
[], [:] |
索引 |
** |
|
~, +, - |
|
*, /, %, // |
|
+, - |
|
», « |
|
& |
|
^, |
|
<=, <, >, >= |
|
==, != |
|
is, is not |
|
in, not in |
|
not, or, and |
|
=, +=,-=, *=, /=, %=, //=, **=, &=, |
=, ^=, »=, «= |
— |
— |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
"""
算术运算符
"""
print(321 + 12) # 加法运算,输出333
print(321 - 12) # 减法运算,输出309
print(321 * 12) # 乘法运算,输出3852
print(321 / 12) # 除法运算,输出26.75
print(321 // 12) # 整除运算,输出26
print(321 % 12) # 求模运算,输出9
print(321 ** 12) # 求幂运算,输出1196906950228928915420617322241
"""
算术运算的优先级
"""
print(2 + 3 * 5) # 17
print((2 + 3) * 5) # 25
print((2 + 3) * 5 ** 2) # 125
print(((2 + 3) * 5) ** 2) # 625
|
$$
a += b \triangleq a = a + b
$$
相当于省略了第一个
1
2
3
4
5
6
7
8
9
10
11
|
"""
赋值运算符和复合赋值运算符
Version: 1.0
Author: 骆昊
"""
a = 10
b = 3
a += b # 相当于:a = a + b
a *= a + 2 # 相当于:a = a * (a + 2)
print(a) # 大家算一下这里会输出什么
|
其实就是用来比较的,比如$==, !=$ 逻辑运算符包括$and, or, not$ 对应数学里的和或非,用法也一致
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
"""
比较运算符和逻辑运算符的使用
"""
flag0 = 1 == 1
flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not flag0
print('flag0 =', flag0) # flag0 = True
print('flag1 =', flag1) # flag1 = True
print('flag2 =', flag2) # flag2 = False
print('flag3 =', flag3) # flag3 = False
print('flag4 =', flag4) # flag4 = True
print('flag5 =', flag5) # flag5 = False
print(flag1 and not flag2) # True
print(1 > 2 or 2 == 3) # False
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
"""
将华氏温度转换为摄氏温度
"""
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))
或者
"""
将华氏温度转换为摄氏温度
"""
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')
|
简单解释一下,前者:’%.1f’表示这个占位符会被后面的%float类型的值替代并且保留一个有效数字,后者:也是类似,我更喜欢后者这种
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
"""
输入半径计算圆的周长和面积
"""
radius = float(input('请输入圆的半径: '))
perimeter = 2 * 3.1416 * radius
area = 3.1416 * radius * radius
print('周长: %.2f' % perimeter)
print('面积: %.2f' % area)
或者,引入了math模块后
"""
输入半径计算圆的周长和面积
"""
import math
radius = float(input('请输入圆的半径: '))
perimeter = 2 * math.pi * radius
area = math.pi * radius ** 2
print(f'周长: {perimeter:.2f}')
print(f'面积: {area:.2f}')
再或者,利用$f'{a = :.1f}'$
"""
输入半径计算圆的周长和面积
Version: 1.2
Author: 骆昊
"""
import math
radius = float(input('请输入圆的半径: ')) # 输入: 5.5
perimeter = 2 * math.pi * radius
area = math.pi * radius ** 2
print(f'{perimeter = :.2f}') # 输出:perimeter = 34.56
print(f'{area = :.2f}') # 输出:area = 95.03
|