Skip to content

Python 运算符

运算符是用来对数据进行运算的符号。Python 提供了丰富的运算符,按功能可分为算术、比较、逻辑、赋值、成员、身份和位运算等。

算术运算符

运算符含义示例结果
+3 + 25
-3 - 21
*3 * 26
/除(得浮点)7 / 23.5
//整除(向下取整)7 // 23
%取余7 % 21
**2 ** 38
python
print(7 / 2)     # 3.5
print(7 // 2)    # 3
print(7 % 2)     # 1
print(2 ** 10)   # 1024

比较运算符

比较运算返回布尔值 TrueFalse

运算符含义示例
==等于3 == 3
!=不等于3 != 4
>大于5 > 3
<小于2 < 4
>=大于等于5 >= 5
<=小于等于3 <= 2
python
print(10 > 5)        # True
print("ab" == "ab")  # True

逻辑运算符

Python 用单词而非符号表示逻辑运算:

运算符含义说明
and两边都为真才为真
or至少一边为真即为真
not取反
python
age = 20
print(age > 18 and age < 30)   # True
print(age > 30 or age < 18)    # False
print(not (age > 18))          # False

Python 还支持"短路"求值:a and ba 为假,则直接返回 a,不再计算 b

赋值运算符

除了最基本的 =,还有复合赋值,让代码更简洁:

运算符等价形式
=x = 10
+=x = x + 2
-=x = x - 2
*=x = x * 2
/=x = x / 2
//=x = x // 2
%=x = x % 2
**=x = x ** 2
python
count = 0
count += 5
print(count)    # 5

海象运算符 :=(Python 3.8+)可以在表达式内同时赋值并使用:

python
if (n := len("Koyuki")) > 3:
    print("长度", n)   # 长度 6

成员运算符

innot in 用于判断某个元素是否在序列(如字符串、列表、字典的键)中:

python
print("K" in "Koyuki")      # True
print(3 in [1, 2, 3])       # True
print(4 not in [1, 2, 3])   # True

身份运算符

isis not 判断两个变量是否指向同一个对象(详见"变量"章节):

python
a = [1, 2]
b = [1, 2]
print(a is b)       # False
print(a is not b)   # True

位运算符

针对整数的二进制位进行运算,常用于底层开发:

运算符含义
&按位与
``
^按位异或
~按位取反
<<左移
>>右移
python
print(5 & 3)    # 1   (0101 & 0011 = 0001)
print(5 | 3)    # 7   (0101 | 0011 = 0111)
print(5 << 1)   # 10  (左移一位相当于乘 2)

运算符优先级

当一个表达式里有多种运算符时,按优先级计算,大致顺序(从高到低):

  1. **
  2. ~ 按位取反、+x/-x 一元正负
  3. * / // %
  4. + -
  5. << >>
  6. &
  7. ^ |
  8. 比较运算符 > < ==
  9. not
  10. and
  11. or

不确定时,请用括号 () 明确意图,既避免出错又提升可读性:

python
result = (3 + 2) * 4   # 20,而不是 3 + 8

完整示例

python
a, b = 7, 2

print("加法:", a + b)          # 9
print("除法:", a / b)          # 3.5
print("整除:", a // b)         # 3
print("取余:", a % b)          # 1
print("幂:", a ** b)           # 49
print("比较:", a > b)          # True
print("逻辑:", a > 5 and b < 5)  # True
print("成员:", b in [1, 2, 3])  # True

运行结果:

text
加法: 9
除法: 3.5
整除: 3
取余: 1
幂: 49
比较: True
逻辑: True
成员: True

Built with VitePress · Koyuki Palace