运算符
Python 运算符是用来执行各种操作的特殊符号,它们可以对变量和值进行计算、比较、赋值等操作。
算术运算符
算术运算符用于执行基本的数学运算。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 10 + 5 | 15 |
- | 减法 | 10 - 5 | 5 |
* | 乘法 | 10 * 5 | 50 |
/ | 除法 | 10 / 5 | 2.0 |
// | 整数除法 | 10 // 3 | 3 |
% | 取余 | 10 % 3 | 1 |
** | 幂运算 | 2 ** 3 | 8 |
python
a = 10
b = 5
print(a + b) # 15
print(a - b) # 5
print(a * b) # 50
print(a / b) # 2.0
print(a // b) # 2
print(a % b) # 0
print(a ** b) # 100000
比较运算符
比较运算符用于比较两个值,结果为布尔值 (True
或 False
)。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
== | 等于 | 10 == 5 | False |
!= | 不等于 | 10 != 5 | True |
> | 大于 | 10 > 5 | True |
< | 小于 | 10 < 5 | False |
>= | 大于等于 | 10 >= 5 | True |
<= | 小于等于 | 10 <= 5 | False |
python
a = 10
b = 5
print(a == b) # False
print(a != b) # True
print(a > b) # True
print(a < b) # False
print(a >= b) # True
print(a <= b) # False
赋值运算符
赋值运算符用于将一个值赋予一个变量。
运算符 | 描述 | 示例 | 等价于 |
---|---|---|---|
= | 赋值 | 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 |
python
x = 10
x += 5 # x = 15
x -= 3 # x = 12
x *= 2 # x = 24
x /= 4 # x = 6.0
x //= 2 # x = 3
x %= 2 # x = 1
x **= 2 # x = 1
逻辑运算符
逻辑运算符用于组合布尔表达式。
python
运算符 描述 示例 结果
and 逻辑与 True and True True
or 逻辑或 True or False True
not 逻辑非 not True False
位运算符
位运算符用于对二进制数进行操作。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
& | 按位与 | 10 & 5 | 0 |
| | 按位或 | 10 | 5 | 15 |
^ | 按位异或 | 10 ^ 5 | 15 |
~ | 按位取反 | ~10 | -11 |
<< | 左移位 | 10 << 2 | 40 |
>> | 右移位 | 10 >> 2 | 2 |
python
a = 10 # 二进制:1010
b = 5 # 二进制:0101
print(a & b) # 0 (二进制:0000)
print(a \| b) # 15 (二进制:1111)
print(a ^ b) # 15 (二进制:1111)
print(~a) # -11 (二进制:10101)
print(a << 2) # 40 (二进制:101000)
print(a >> 2) # 2 (二进制:0010)
成员运算符
成员运算符用于检查一个值是否在某个序列中。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
in | 成员运算符 | 5 in [1, 2, 3, 4, 5] | True |
not in | 非成员运算符 | 6 not in [1, 2, 3, 4, 5] | True |
python
numbers = [1, 2, 3, 4, 5]
print(5 in numbers) # True
print(6 not in numbers) # True
身份运算符
身份运算符用于比较两个对象的内存地址。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
is | 身份运算符 | x is y | True 如果 x 和 y 指向同一个对象 |
is not | 非身份运算符 | x is not y | True 如果 x 和 y 指向不同的对象 |
python
x = [1, 2, 3]
y = [1, 2, 3]
print(x is y) # False,因为 x 和 y 指向不同的列表对象
print(x == y) # True,因为 x 和 y 的内容相同
x = y # 将 y 赋值给 x,现在 x 和 y 指向同一个列表对象
print(x is y) # True
运算符优先级
优先级 | 运算符 |
---|---|
最高 | ** |
~ , + , - (用于单目运算符) | |
* , / , // , % | |
+ , - (用于双目运算符) | |
<< , >> | |
& | |
^ | |
` | |
== , != , > , >= , < , <= | |
is , is not | |
in , not in | |
最低 | not |
and | |
or |
运算符扩展
- 链式赋值: 可以将一个值同时赋予多个变量。例如:
x = y = z = 10
- 三元运算符: 可以简化条件表达式。例如:
result = a if a > b else b
- 自定义运算符: 可以使用
__add__
、__sub__
等特殊方法来定义自定义运算符。
总结
运算符是 Python 中非常重要的语法元素,掌握各种运算符的使用方法和优先级规则,对于编写清晰、高效的 Python 代码至关重要。