关于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