转义字符
有些字符是看不见的,如:换行、制表符等,不能在显示器上显示,甚至无法从键盘输入,所以用以反斜杠\开头的字符来表示,且只对 ASCII 编码(128 个字符)有效。
| 转义字符 | 说明 |
|---|---|
| \n | 换行符,将光标位置移到下一行开头。 |
| \r | 回车符,将光标位置移到本行开头。 |
| \t | 水平制表符,也即 Tab 键,一般相当于四个空格。 |
| \a | 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。 |
| \b | 退格(Backspace),将光标位置移到前一列。 |
| \ | 反斜线 |
| ’ | 单引号 |
| " | 双引号 |
| \ | 在字符串行尾的续行符,即一行未完,转到下一行继续写。 |
赋值运算符
一个=,先算右边,再赋值给左边,没啥想说。
算术运算符
| 运算符 | 说明 | 实例 | 结果 |
|---|---|---|---|
| + | 加(用于字符串时,表示拼接) | 12.45 + 15 | 27.45 |
| - | 减(还可用于负运算、集合求差集等) | 4.56 - 0.26 | 4.3 |
| * | 乘 | 5 * 3.6 | 18.0 |
| / | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
| // | 整除(只保留商的整数部分) | 7 // 2 | 3 |
| % | 取余,即返回除法的余数 | 7 % 2 | 1 |
| ** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16,即 24 |
整除//
print(7//4) # 1
print(-7//4) # -2
print(7//-4) # -2
print(-7//-4) # 1
当整除两边一正一负时,向下取整。即:-7/4=-1.75,介于-1和-2之间,向下取整,取小的那个,得-2。
取余%
print(7%4) # 3 1*4+3=7
print(-7%4) # 1 -2*4+1=-7
print(7%-4) # -1 -2*-4-1=7
print(-7%-4) # -3 1*-4-3=-7
先按整除//得到整除的结果,然后用这个结果反向乘以除数±4,推算得余数。
⚠️:除数是负数,求余的结果也是负数。
比较运算符
| 比较运算符 | 说明 |
|---|---|
| > | 大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。 |
| < | 小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。 |
| == | 等于,如果==两边的值相等,则返回 True,否则返回 False。 |
| >= | 大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
| <= | 小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
| != | 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。 |
| is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
| is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |
==和is
==比较的是两个变量的值是否相等;is比较的是两个变量是不是引用了同一块地址。
a = 1
b = 1
print(a == b) # True
print(a is b) # True
a = [1]
b = [1]
print(a == b) # True
print(a is b) # False
逻辑运算符
| 逻辑运算符 | 含义 | 基本格式 | 说明 |
|---|---|---|---|
| and | 逻辑与运算,等价于数学中的“且” | a and b | a 和 b 都为真时,结果为真,否则为假。 |
| or | 逻辑或运算,等价于数学中的“或” | a or b | a 和 b 都为假时,结果为假,否则为真(a、b只要有一个真,表达式都为真)。 |
| not | 逻辑非运算,等价于数学中的“非” | not a | 取a的反面。 |
⚠️:当左右a、b不是bool类型时,python的处理方法比较有意思:
print(10 and 20) # 20
print(10 and True) # True
print(True and False)#False
print(10 or 'abc') # 10
print('abc' or 10) # 'abc'
print('' or 10) # 10
虽然都是先算左边,但是:
- and运算时,如果左边为假,那么整个运算都为假,右边就不会去算了,直接返回左边的值;如果左边为真,继续计算右边,返回右边的值。
- or运算时,如果左边为真,那么整个运算都为真,右边就不会去算了,直接返回左边的值;如果左边为假,继续计算右边,返回右边的值。
三目运算符
也就是if-else的简写版:
if a > b:
max = a
else:
max = b
等价于:
max = a if a > b else b
优先级
先来个常用简约版:幂运算 > 加减乘除 > 比较运算 > 逻辑运算
详细版优先级从高到低:
| 运算符说明 | Python运算符 | 优先级 | 结合性 |
|---|---|---|---|
| 小括号 | ( ) | 19 | 无 |
| 索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 |
| 属性访问 | x.attribute | 17 | 左 |
| 乘方 | ** | 16 | 右 |
| 按位取反 | ~ | 15 | 右 |
| 符号运算符 | +(正号)、-(负号) | 14 | 右 |
| 乘除 | *、/、//、% | 13 | 左 |
| 加减 | +、- | 12 | 左 |
| 位移 | >>、<< | 11 | 左 |
| 按位与 | & | 10 | 右 |
| 按位异或 | ^ | 9 | 左 |
| 按位或 | | | 8 | 左 |
| 比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
| is 运算符 | is、is not | 6 | 左 |
| in 运算符 | in、not in | 5 | 左 |
| 逻辑非 | not | 4 | 右 |
| 逻辑与 | and | 3 | 左 |
| 逻辑或 | or | 2 | 左 |
| 逗号运算符 | exp1, exp2 | 1 | 左 |
832

被折叠的 条评论
为什么被折叠?



