Skip to content

Python 运算符

Python 语言支持多种运算符,用于执行各种操作。本章节将详细介绍 Python 中的运算符类型及其用法。

算术运算符

算术运算符用于执行基本的数学运算。

运算符描述示例
+加法x + y
-减法x - y
*乘法x * y
/除法x / y
%取模(返回除法的余数)x % y
**幂(返回 x 的 y 次幂)x ** y
//整除(返回商的整数部分)x // y

示例:

python
# 算术运算符示例
x = 10
y = 3

print(x + y)  # 输出:13
print(x - y)  # 输出:7
print(x * y)  # 输出:30
print(x / y)  # 输出:3.3333333333333335
print(x % y)  # 输出:1
print(x ** y)  # 输出:1000
print(x // y)  # 输出:3

比较运算符

比较运算符用于比较两个值,返回布尔值 TrueFalse

运算符描述示例
==等于x == y
!=不等于x != y
>大于x > y
<小于x < y
>=大于等于x >= y
<=小于等于x <= y

示例:

python
# 比较运算符示例
x = 10
y = 3

print(x == y)  # 输出:False
print(x != y)  # 输出:True
print(x > y)  # 输出:True
print(x < y)  # 输出:False
print(x >= y)  # 输出:True
print(x <= y)  # 输出:False

赋值运算符

赋值运算符用于给变量赋值。

运算符描述示例
=简单赋值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

示例:

python
# 赋值运算符示例
x = 10
print(x)  # 输出:10

x += 5
print(x)  # 输出:15

x -= 3
print(x)  # 输出:12

x *= 2
print(x)  # 输出:24

x /= 4
print(x)  # 输出:6.0

x %= 5
print(x)  # 输出:1.0

x **= 3
print(x)  # 输出:1.0

x //= 2
print(x)  # 输出:0.0

逻辑运算符

逻辑运算符用于组合条件语句。

运算符描述示例
and与运算,两个条件都为真时返回 Truex and y
or或运算,两个条件中任意一个为真时返回 Truex or y
not非运算,取反布尔值not x

示例:

python
# 逻辑运算符示例
x = True
y = False

print(x and y)  # 输出:False
print(x or y)  # 输出:True
print(not x)  # 输出:False
print(not y)  # 输出:True

位运算符

位运算符用于对二进制数进行操作。

| 运算符 | 描述 | 示例 | | :----- | :------- | :------- | --- | --- | | & | 按位与 | x & y | | | | 按位或 | x | y | | ^ | 按位异或 | x ^ y | | ~ | 按位取反 | ~x | | << | 左移 | x << y | | >> | 右移 | x >> y |

示例:

python
# 位运算符示例
x = 60  # 二进制:0b111100
y = 13  # 二进制:0b001101

print(x & y)  # 输出:12,二进制:0b001100
print(x | y)  # 输出:61,二进制:0b111101
print(x ^ y)  # 输出:49,二进制:0b110001
print(~x)  # 输出:-61,二进制:-0b111101
print(x << 2)  # 输出:240,二进制:0b11110000
print(x >> 2)  # 输出:15,二进制:0b001111

成员运算符

成员运算符用于检查序列中是否包含指定的值。

运算符描述示例
in如果在指定的序列中找到值返回 Truex in y
not in如果在指定的序列中没有找到值返回 Truex not in y

示例:

python
# 成员运算符示例
fruits = ["apple", "banana", "cherry"]

print("apple" in fruits)  # 输出:True
print("orange" in fruits)  # 输出:False
print("apple" not in fruits)  # 输出:False
print("orange" not in fruits)  # 输出:True

身份运算符

身份运算符用于比较两个对象的存储位置。

运算符描述示例
is如果两个变量引用同一个对象返回 Truex is y
is not如果两个变量引用不同的对象返回 Truex is not y

示例:

python
# 身份运算符示例
x = [1, 2, 3]
y = [1, 2, 3]
z = x

print(x is y)  # 输出:False,因为 x 和 y 是不同的对象
print(x is z)  # 输出:True,因为 z 是 x 的引用
print(x == y)  # 输出:True,因为 x 和 y 的值相同
print(x is not y)  # 输出:True
print(x is not z)  # 输出:False

运算符优先级

Python 中的运算符优先级决定了表达式中各运算符的执行顺序。优先级高的运算符先执行,优先级低的运算符后执行。

| 优先级 | 运算符 | 描述 | | :----- | :------------------------- | :----------------------- | ---------------- | | 1 | () | 小括号 | | 2 | ** | 幂运算 | | 3 | ~ + - | 按位取反,一元加号和减号 | | 4 | * / % // | 乘法,除法,取模,整除 | | 5 | + - | 加法,减法 | | 6 | >> << | 右移,左移 | | 7 | & | 按位与 | | 8 | ^ | | 按位异或,按位或 | | 9 | <= < > >= | 比较运算符 | | 10 | == != | 等于,不等于 | | 11 | = %= /= //= -= += *= **= | 赋值运算符 | | 12 | is is not | 身份运算符 | | 13 | in not in | 成员运算符 | | 14 | not or and | 逻辑运算符 |

示例:

python
# 运算符优先级示例
x = 10
y = 5
z = 2

result = x + y * z  # 乘法优先级高于加法
print(result)  # 输出:20

result = (x + y) * z  # 使用括号改变优先级
print(result)  # 输出:30

result = x ** y % z  # 幂运算优先级高于取模
print(result)  # 输出:0

总结

Python 提供了丰富的运算符,用于执行各种操作。理解这些运算符的用法和优先级对于编写有效的 Python 代码非常重要。在实际编程中,应根据需要选择合适的运算符,并使用括号来明确操作顺序,提高代码的可读性。