Python 提供了多种运算符,用于执行算术、比较、逻辑等各种操作。以下是 Python 中常见的运算符类型及其用法:
文章目录
- 1. 算术运算符
- 2. 比较运算符
- 3. 逻辑运算符
- 4. 赋值运算符
- 5. 位运算符
- 6. 成员运算符
- 7. 身份运算符
- 8. 运算符优先级
1. 算术运算符
算术运算符用于执行基本的数学运算。
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | x + y |
- | 减法 | x - y |
* | 乘法 | x * y |
/ | 除法(返回浮点数) | x / y |
// | 整除(返回整数商) | x // y |
% | 模(取余) | x % y |
** | 幂(指数) | x ** y |
示例:
x = 10
y = 3print(x + y) # 输出: 13
print(x - y) # 输出: 7
print(x * y) # 输出: 30
print(x / y) # 输出: 3.3333333333333335
print(x // y) # 输出: 3
print(x % y) # 输出: 1
print(x ** y) # 输出: 1000
2. 比较运算符
比较运算符用于比较两个值,并返回一个布尔值(True
或 False
)。
运算符 | 描述 | 示例 |
---|---|---|
== | 等于 | x == y |
!= | 不等于 | x != y |
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于或等于 | x >= y |
<= | 小于或等于 | x <= y |
示例:
x = 10
y = 3print(x == y) # 输出: False
print(x != y) # 输出: True
print(x > y) # 输出: True
print(x < y) # 输出: False
print(x >= y) # 输出: True
print(x <= y) # 输出: False
3. 逻辑运算符
逻辑运算符用于组合多个条件表达式,并返回一个布尔值。
运算符 | 描述 | 示例 |
---|---|---|
and | 逻辑与(所有条件都为真时返回 True ) | x > 0 and x < 10 |
or | 逻辑或(任意一个条件为真时返回 True ) | x < 0 or x > 10 |
not | 逻辑非(取反) | not (x == y) |
示例:
x = 5
y = 3print(x > 0 and x < 10) # 输出: True
print(x < 0 or x > 10) # 输出: False
print(not (x == y)) # 输出: True
4. 赋值运算符
赋值运算符用于将值赋给变量。除了简单的 =
,Python 还提供了复合赋值运算符,可以简化某些操作。
运算符 | 描述 | 等价于 |
---|---|---|
= | 简单赋值 | x = 5 |
+= | 加法赋值 | x += 3 等价于 x = x + 3 |
-= | 减法赋值 | x -= 3 等价于 x = x - 3 |
*= | 乘法赋值 | x *= 3 等价于 x = x * 3 |
/= | 除法赋值 | x /= 3 等价于 x = x / 3 |
//= | 整除赋值 | x //= 3 等价于 x = x // 3 |
%= | 模赋值 | x %= 3 等价于 x = x % 3 |
**= | 幂赋值 | x **= 3 等价于 x = x ** 3 |
示例:
x = 5
x += 3 # x = x + 3
print(x) # 输出: 8x = 10
x //= 3 # x = x // 3
print(x) # 输出: 3
5. 位运算符
位运算符用于对二进制数进行按位操作。
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与 | x & y |
` | ` | 按位或 |
^ | 按位异或 | x ^ y |
~ | 按位非 | ~x |
<< | 左移 | x << n |
>> | 右移 | x >> n |
示例:
x = 6 # 二进制: 0110
y = 3 # 二进制: 0011print(x & y) # 输出: 2 (二进制: 0010)
print(x | y) # 输出: 7 (二进制: 0111)
print(x ^ y) # 输出: 5 (二进制: 0101)
print(~x) # 输出: -7 (二进制: 11111111...1010, 补码表示)
print(x << 1) # 输出: 12 (二进制: 1100)
print(x >> 1) # 输出: 3 (二进制: 0011)
6. 成员运算符
成员运算符用于检查某个值是否在序列(如字符串、列表、元组等)中。
运算符 | 描述 | 示例 |
---|---|---|
in | 如果值在序列中则返回 True | 'a' in 'apple' |
not in | 如果值不在序列中则返回 True | 'b' not in 'apple' |
示例:
fruits = ["apple", "banana", "cherry"]print("apple" in fruits) # 输出: True
print("orange" not in fruits) # 输出: True
7. 身份运算符
身份运算符用于比较两个对象是否是同一个对象(即它们在内存中的地址是否相同)。
运算符 | 描述 | 示例 |
---|---|---|
is | 如果两个对象是同一个对象则返回 True | x is y |
is not | 如果两个对象不是同一个对象则返回 True | x is not y |
示例:
x = [1, 2, 3]
y = [1, 2, 3]print(x is y) # 输出: False (虽然内容相同,但它们是不同的对象)
z = x
print(x is z) # 输出: True (x 和 z 是同一个对象)# 对于不可变对象,Python 可能会重用相同的对象
a = "hello"
b = "hello"
print(a is b) # 输出: True (Python 优化,字符串常量可能共享同一个对象)
8. 运算符优先级
Python 中的运算符有不同的优先级,决定它们在表达式中先计算哪个部分。以下是从高到低的优先级顺序:
- 括号
()
- 指数
**
- 正负号
+x
,-x
- 乘法、除法、取模、整除
*
,/
,%
,//
- 加法、减法
+
,-
- 位移
<<
,>>
- 按位与
&
- 按位异或
^
- 按位或
|
- 比较运算符
==
,!=
,>
,<
,>=
,<=
- 身份运算符
is
,is not
- 成员运算符
in
,not in
- 逻辑非
not
- 逻辑与
and
- 逻辑或
or
- 赋值运算符
=
,+=
,-=
,*=
,/=
,//=
,%=
,**=
示例:
x = 10 + 3 * 2 # 先计算乘法,再加法
print(x) # 输出: 16y = (10 + 3) * 2 # 先计算括号内的加法,再乘法
print(y) # 输出: 26