Python 运算符
最后更新:2026-09-22
Python 运算符
按类别归集的 Python 运算符参考:算术、赋值、比较、成员与身份、逻辑、位运算。每个条目都附带语法速览与可运行示例。
算术运算符
| 运算符 | 含义 | 实例 |
|---|
+ | 加法 / 拼接 — + 对数字求和;对序列则是拼接。 | a + b |
- | 减法 / 差集 — - 对数字求差;对 set 则是差集。 | a - b |
* | 乘法 / 重复 — * 对数字求积;对序列是重复。 | a * b |
/ | 真除法 — / 始终返回浮点数结果;用 // 整除。 | a / b |
// | 整除(向下取整) — // 返回向下取整的除法结果。 | a // b |
% | 取余 — % 返回除法的余数。 | a % b |
** | 幂运算 — ** 计算 a 的 b 次幂。 | a ** b |
@ | 矩阵乘法 — @ 是矩阵乘法运算符(PEP 465);NumPy 等库使用。 | a @ b |
比较运算符
| 运算符 | 含义 | 实例 |
|---|
== | 等于 — == 判断两个对象是否相等(由 __eq__ 决定)。 | a == b |
!= | 不等于 — != 与 == 相反。 | a != b |
< | 小于 — < 判断 a < b(对可比较对象由 __lt__ 决定)。 | a < b |
> | 大于 — > 判断 a > b(由 __gt__ 决定)。 | a > b |
<= | 小于等于 — <= 判断 a <= b(由 __le__ 决定)。 | a <= b |
>= | 大于等于 — >= 判断 a >= b(由 __ge__ 决定)。 | a >= b |
赋值运算符
| 运算符 | 含义 | 实例 |
|---|
= | 简单赋值 — = 是最基础的赋值运算符,将右侧表达式的值绑定到左侧变量名。 | name = expression |
+= | 加法增强赋值 — += 将右侧值加到左侧变量,等价于 x = x + y;对 list 表示原地追加元素。 | x += y |
-= | 减法增强赋值 — -= 从左侧变量减去右侧值,等价于 x = x - y。 | x -= y |
*= | 乘法增强赋值 — *= 将左侧变量与右侧值相乘,等价于 x = x * y;对 str/list 表示重复。 | x *= y |
/= | 除法增强赋值 — /= 将左侧变量除以右侧值,结果为浮点数,等价于 x = x / y。 | x /= y |
//= | 整除增强赋值 — //= 将左侧变量整除右侧值(向下取整),等价于 x = x // y。 | x //= y |
%= | 取模增强赋值 — %= 将左侧变量对右侧值取模,等价于 x = x % y。 | x %= y |
**= | 幂增强赋值 — **= 将左侧变量取右侧值次幂,等价于 x = x ** y。 | x **= y |
@= | 矩阵乘法增强赋值 — @= 将左侧变量与右侧对象做矩阵乘法(原地),等价于 x = x @ y。 | x @= y |
&= | 按位与增强赋值 — &= 将左侧变量与右侧值做按位与,等价于 x = x & y。 | x &= y |
|= | 按位或增强赋值 — |= 将左侧变量与右侧值做按位或,等价于 x = x | y。 | x |= y |
^= | 按位异或增强赋值 — ^= 将左侧变量与右侧值做按位异或,等价于 x = x ^ y。 | x ^= y |
<<= | 左移增强赋值 — <<= 将左侧变量的二进制位左移右侧值的位数,等价于 x = x << y。 | x <<= y |
>>= | 右移增强赋值 — >>= 将左侧变量的二进制位右移右侧值的位数,等价于 x = x >> y。 | x >>= y |
:= | 海象运算符(赋值表达式) — := 是 PEP 572 引入的海象运算符,可在表达式内赋值并返回值。 | name := value |
逻辑运算符
| 运算符 | 含义 | 实例 |
|---|
and | 布尔与(短路) — and 是布尔与:返回第一个假值或最后一个真值;不返回 True/False。 | a and b |
or | 布尔或(短路) — or 是布尔或:返回第一个真值或最后一个假值。 | a or b |
not | 布尔非 — not 返回布尔值(True / False)。 | not a |
位运算符
| 运算符 | 含义 | 实例 |
|---|
& | 按位与 / 集合交集 — & 是按位与;对 set 是交集。 | a & b |
| | 按位或 / 集合并集 — | 是按位或;对 set 是并集。 | a | b |
^ | 按位异或 / 集合对称差 — ^ 是按位异或;对 set 是对称差。 | a ^ b |
~ | 按位取反 — ~ 取反 x 的位 = -(x+1)。 | ~a |
<< | 左移 — << 把 a 的二进制位左移 n 位,等价于 a * (2**n)。 | a << n |
>> | 右移 — >> 把 a 的二进制位右移 n 位,等价于 floor(a / (2**n))。 | a >> n |
成员运算符
| 运算符 | 含义 | 实例 |
|---|
in | 成员检测 — in 检查值是否在可迭代对象中;也用于 for 循环。 | x in container |
not in | 非成员检测 — not in 是 in 的否定。 | x not in container |
身份运算符
| 运算符 | 含义 | 实例 |
|---|
is | 同一性判断 — is 判断两个引用是否指向同一对象(id 相同)。 | a is b |
is not | 非同一性判断 — is not 是 is 的否定。 | a is not b |
运算符优先级
| 运算符 | 描述 |
(...), [...], {k: v}, {...} | 圆括号 / 列表 / 字典 / 集合 |
x[i], x[i:j], x(args), x.attr | 下标、切片、调用、属性 |
await x | await 表达式 |
** | 乘方(指数) |
+x, -x, ~x | 正号、负号、按位非 |
*, @, /, //, % | 乘、矩阵乘、除、整除、取余 |
+, - | 加法、减法 |
<<, >> | 左移、右移 |
& | 按位与 AND |
^ | 按位异或 XOR |
| | 按位或 OR |
in, not in, is, is not, <, <=, >, >=, !=, == | 比较、成员检测、身份检测 |
not x | 逻辑非 NOT |
and | 逻辑与 AND |
or | 逻辑或 OR |
if ... else | 条件表达式 |
lambda | lambda 表达式 |
:= | 赋值表达式 |
Web-Tutorial 技术团队
由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。
关于我们