跳到主要内容

Python 运算符

提示
  1. 多样的运算符:Python 提供各种运算符,包括算术运算符(加、减、乘、除等)、赋值运算符(设置和更新变量的值)和比较运算符(比较两个值并返回布尔结果)。
  2. 逻辑与位运算符:逻辑运算符(and, or, not)用于逻辑判断,而位运算符(如 &, |, ^)则直接对二进制位进行操作。
  3. 特殊运算符:身份运算符(is, is not)检查两个对象是否相同,成员运算符(in, not in)测试值或变量是否在序列中。

运算符是用于对变量和值进行操作的特殊符号。例如,

print(5 + 6) # 11

这里,+ 是一个运算符,用于相加两个数字:56

Python 运算符的类型

以下是我们将在本教程中学习的不同类型的 Python 运算符的列表。

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 逻辑运算符
  5. 位运算符
  6. 特殊运算符

1. Python 算术运算符

算术运算符用于执行加、减、乘、除等数学运算。例如,

sub = 10 - 5 # 5

这里,- 是一个算术运算符,用于减去两个值或变量。

运算符操作示例
+加法5 + 2 = 7
-减法4 - 2 = 2
*乘法2 * 3 = 6
/除法4 / 2 = 2
//向下取整除法10 // 3 = 3
%模运算5 % 2 = 1
**幂运算4 ** 2 = 16

示例 1:Python 中的算术运算符

a = 7
b = 2

# 加法
print ('和: ', a + b)

# 减法
print ('减法: ', a - b)

# 乘法
print ('乘法: ', a * b)

# 除法
print ('除法: ', a / b)

# 向下取整除法
print ('向下取整除法: ', a // b)

# 模运算
print ('模运算: ', a % b)

# a 的 b 次幂
print ('幂运算: ', a ** b)

输出

: 9
减法: 5
乘法: 14
除法: 3.5
向下取整除法: 3
模运算: 1
幂运算: 49

在上面的示例中,我们使用了多个算术运算符,

  • + 来相加 ab
  • - 来从 a 减去 b
  • * 来相乘 ab
  • / 来将 a 除以 b
  • // 来对 ab 进行向下取整除法
  • % 来获取余数
  • ** 来计算 ab 次幂

2. Python 赋值运算符

赋值运算符用于将值赋给变量。例如,

# 将 5 赋给 x
var x = 5

这里,= 是一个赋值运算符,用于将 5 赋给 x

以下是 Python 中可用的不同赋值运算符的列表。

运算符名称示例
=赋值运算符a = 7
+=加法赋值a += 1 # a = a + 1
-=减法赋值a -= 3 # a = a - 3
*=乘法赋值a *= 4 # a = a * 4
/=除法赋值`

a /= 3 # a = a / 3| |%=| 模赋值 |a %= 10 # a = a % 10| |**=| 指数赋值 |a **= 10 # a = a ** 10` |

示例 2:赋值运算符

# 将 10 赋给 a
a = 10

# 将 5 赋给 b
b = 5

# 将 a 和 b 的和赋给 a
a += b # a = a + b

print(a)

# 输出:15

在这里,我们使用了 += 运算符将 ab 的和赋给 a

同样,我们可以根据需要使用任何其他赋值运算符。

3. Python 比较运算符

比较运算符用于比较两个值/变量,并返回布尔结果:TrueFalse。例如,

a = 5
b = 2

print (a > b) # True

这里,> 比较运算符用于比较 a 是否大于 b

运算符含义示例
==等于3 == 5 结果为 False
!=不等于3 != 5 结果为 True
>大于3 > 5 结果为 False
<小于3 < 5 结果为 True
>=大于或等于3 >= 5 结果为 False
<=小于或等于3 <= 5 结果为 True

示例 3:比较运算符

a = 5

b = 2

# 等于运算符
print('a == b =', a == b)

# 不等于运算符
print('a != b =', a != b)

# 大于运算符
print('a > b =', a > b)

# 小于运算符
print('a < b =', a < b)

# 大于或等于运算符
print('a >= b =', a >= b)

# 小于或等于运算符
print('a <= b =', a <= b)

输出

a == b = False
a != b = True
a > b = True
a < b = False
a >= b = True
a <= b = False

注意:比较运算符用于决策制定和循环中。我们将在后续教程中更多讨论比较运算符和决策制定。

4. Python 逻辑运算符

逻辑运算符用于检查表达式是 True 还是 False。它们在决策制定中使用。例如,

a = 5
b = 6

print((a > 2) and (b >= 6)) # True

这里,and 是逻辑运算符 AND。由于 a > 2b >= 6 都是 True,所以结果是 True

运算符示例含义
anda and b逻辑与:仅当两个操作数都为 True 时才为 True
ora or b逻辑或:至少有一个操作数为 True 时就为 True
notnot a逻辑非:如果操作数为 False 则为 True,反之亦然。

示例 4:逻辑运算符

# 逻辑与
print(True and True) # True
print(True and False) # False

# 逻辑或
print(True or False) # True

# 逻辑非
print(not True) # False

注意:这是这些逻辑运算符的真值表

5. Python 位运算符

位运算符对操作数进行操作,就好像它们是二进制数字的字符串。它们按位操作,因此得名。

例如,2 用二进制表示为 10,而 7111

在下表中: 假设 x = 10(二进制中为 0000 1010)和 y = 4(二进制中为 0000 0100

运算符含义示例
&位与x & y = 0(0000 0000
|位或x | y = 14(0000 1110
~位非~x = -11(1111 0101
^位异或x ^ y = 14(0000 1110
>>右移x >> 2 = 20000 0010
<<左移x << 2 = 400010 1000

6. Python 特殊运算符

Python 语言提供了一些特殊类型的运算符,如身份运算符成员运算符。以下是用例子描述的这些运算符。

身份运算符

在 Python 中,isis not 用于检查两个值是否位于内存的同一部分。两个变量相等并不意味着它们是相同的。

运算符含义示例
is如果操作数相同(引用同一对象)则为 Truex is True
is not如果操作数不相同(不引用同一对象)则为 Truex is not True

示例 5:Python 中的身份运算符

x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]

print(x1 is not y1) # 打印 False

print(x2 is y2) # 打印 True

print(x3 is y3) # 打印 False

在这里,我们看到 x1 和 y1 是相同值的整数,所以它们既相等又相同。x2 和 y2(字符串)也是如此。

但 x3 和 y3 是列表。它们相等但不相同。这是因为解

释器在内存中将它们分别定位,尽管它们相等。

成员运算符

在 Python 中,innot in 是成员运算符。它们用于测试一个值或变量是否在序列(字符串列表元组集合字典)中。

在字典中,我们只能测试键的存在,而不是值。

运算符含义示例
in如果值/变量序列中找到则为 True5 in x
not in如果值/变量不在序列中找到则为 True5 not in x

示例 6:Python 中的成员运算符

x = 'Hello world'
y = {1:'a', 2:'b'}

# 检查 'H' 是否在 x 字符串中
print('H' in x) # 打印 True

# 检查 'hello' 是否在 x 字符串中
print('hello' not in x) # 打印 True

# 检查 '1' 键是否在 y 中
print(1 in y) # 打印 True

# 检查 'a' 键是否在 y 中
print('a' in y) # 打印 False

输出

True
True
True
False

在这里,'H' 在 x 中,但 'hello' 不在 x 中(请记住,Python 是区分大小写的)。

同样,1 是字典 y 中的键,而 'a' 是值。因此,'a' in y 返回 False