精通Python运算符:全面指南
精通Python运算符
本教程带你掌握所有Python运算符类别——语法、行为、实战示例,助你编写更简洁高效的代码。
视频:Python运算符
什么是Python运算符?
运算符是执行算术或逻辑计算的特殊符号。它们作用的值称为操作数。
例如:
>>> 2+3
5
此处 + 是执行加法的运算符,2 和 3 是操作数,5 是结果。
算术运算符
算术运算符执行加、减、乘、除等数学运算。
| 运算符 | 含义 | 示例 |
|---|---|---|
| + | 加两操作数或一元加 | x + y + 2 |
| - | 右操作数减左或一元减 | x - y - 2 |
| * | 乘两操作数 | x * y |
| / | 左除右(总返回浮点数) | x / y |
| % | 取模 – 除法余数 | x % y (x/y的余数) |
| // | 地板除 – 向下取整的整数结果 | x // y |
| ** | 幂 – 左的右次方 | x ** y (x的y次幂) |
示例 1:Python算术运算符
x = 15
y = 4
print('x + y =', x + y)
print('x - y =', x - y)
print('x * y =', x * y)
print('x / y =', x / y)
print('x // y =', x // y)
print('x ** y =', x ** y)
输出
x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625
比较运算符
比较运算符评估值间关系,返回 True 或 False。
| 运算符 | 含义 | 示例 |
|---|---|---|
| > | 大于 | x > y |
| < | 小于 | x < y |
| == | 等于 | x == y |
| != | 不等于 | x != y |
| >= | 大于或等于 | x >= y |
| <= | 小于或等于 | x <= y |
示例 2:Python比较运算符
x = 10
y = 12
print('x > y is', x > y)
print('x < y is', x < y)
print('x == y is', x == y)
print('x != y is', x != y)
print('x >= y is', x >= y)
print('x <= y is', x <= y)
输出
x > y is False x < y is True x == y is False x != y is True x >= y is False x <= y is True
逻辑运算符
逻辑运算符——and、or、not——组合布尔表达式。
| 运算符 | 含义 | 示例 |
|---|---|---|
| and | 两操作数均真则真 | x and y |
| or | 至少一操作数真则真 | x or y |
| not | 取反操作数 | not x |
示例 3:Python逻辑运算符
x = True
y = False
print('x and y is', x and y)
print('x or y is', x or y)
print('not x is', not x)
输出
x and y is False x or y is True not x is False
下方真值表演示这些运算符。
位运算符
位运算符操作整数操作数的各个位。
例如,2是二进制 10,7是 111。
设 x=10(二进制 00001010),y=4(00000100)。
| 运算符 | 含义 | 示例 |
|---|---|---|
| & | 按位与 | x & y = 0 (00000000) |
| | | 按位或 | x | y = 14 (00001110) |
| ~ | 按位非 | ~x = -11 (11110101) |
| ^ | 按位异或 | x ^ y = 14 (00001110) |
| >> | 右移 | x >> 2 = 2 (00000010) |
| << | 左移 | x << 2 = 40 (00101000) |
赋值运算符
赋值运算符给变量赋值,含结合运算与赋值的复合形式。
| 运算符 | 示例 | 等价于 |
|---|---|---|
| = | x = 5 | x = 5 |
| += | x += 5 | x = x + 5 |
| -= | x -= 5 | x = x - 5 |
| *= | x *= 5 | x = x * 5 |
| /= | x /= 5 | x = x / 5 |
| %= | x %= 5 | x = x % 5 |
| //= | x //= 5 | x = x // 5 |
| **= | x **= 5 | x = x ** 5 |
| &= | x &= 5 | x = x & 5 |
| |= | x |= 5 | x = x | 5 |
| ^= | x ^= 5 | x = x ^ 5 |
| >>= | x >>= 5 | x = x >> 5 |
| <<= | x <<= 5 | x = x << 5 |
特殊运算符
Python还包含身份和成员运算符用于高级比较。
身份运算符
is 和 is not 检查两引用是否指向同一对象。
| 运算符 | 含义 | 示例 |
|---|---|---|
| is | 操作数引用同一对象则真 | x is True |
| is not | 操作数引用不同对象则真 | x is not True |
示例 4:Python身份运算符
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
print(x1 is not y1)
print(x2 is y2)
print(x3 is y3)
输出
False True False
整数和短字符串被驻留,相同字面量常共享对象。列表即使内容相同也是不同对象。
成员运算符
in 和 not in 测试值在序列、集合、字典键集中是否存在。
| 运算符 | 含义 | 示例 |
|---|---|---|
| in | 值在序列中则真 | 5 in x |
| not in | 值不在序列中则真 | 5 not in x |
示例 5:Python成员运算符
x = 'Hello world'
y = {1:'a',2:'b'}
print('H' in x)
print('hello' not in x)
print(1 in y)
print('a' in y)
输出
True True True False
注意字符串比较区分大小写,字典检查仅考虑键。
Python