ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Python3 运算符

Python3 运算符

在 Python 编程中,运算符是构建逻辑和数据处理的核心基石。它们用于对变量和值执行各种操作,从简单的数学计算到复杂的内存地址比较。

算术运算符

算术运算符用于执行常见的数学运算。除了基本的加减乘除,Python 还提供了一些特有的运算方式,如整除和幂运算。

运算符

描述

示例 (a=10, b=3)

结果

+

加

a + b

13

-

减

a - b

7

*

乘

a * b

30

/

除(返回浮点数)

a / b

3.333...

%

取模(余数)

a % b

1

`| 幂 |a b`

1000

//

整除(向下取整)

a // b

3

示例:

a = 10 b = 3 print(f"加法: {a + b}") 13 print(f"除法: {a / b}") 3.3333333333333335 print(f"整除: {a // b}") 3 print(f"取余: {a % b}") 1 print(f"幂运算: {a ** b}") 1000 字符串也支持部分算术运算符 print("Hi" * 3) HiHiHi print("Hi" + 3) 报错:TypeError

比较(关系)运算符

比较运算符用于比较两个值,结果总是布尔值 True 或 False。它们在条件判断(if语句)和循环中非常常用。

运算符

描述

示例 (a=10, b=20)

结果

`| 等于 |a b`

False

!=

不等于

a != b

True

>

大于

a > b

False

<

小于

a < b

True

>=

大于等于

a >= b

False

<=

小于等于

a <= b

True

示例:

x = 5 y = 10 print(x == y) False print(x != y) True print(x < y) True Python 特色:链式比较 z = 7 print(5 < z < 10) True,等价于 (5 < z) and (z < 10)

赋值运算符

赋值运算符用于将值赋给变量。除了基本的 =,Python 还支持组合赋值运算符,可以简化代码。

运算符

描述

示例 (a=10)

等价于

=

简单赋值

a = 10

-

+=

加法赋值

a += 3

a = a + 3

-=

减法赋值

a -= 3

a = a - 3

*=

乘法赋值

a *= 3

a = a * 3

/=

除法赋值

a /= 3

a = a / 3

%=

取模赋值

a %= 3

a = a % 3

=

幂赋值

a = 3

a = a ** 3

//=

整除赋值

a //= 3

a = a // 3

示例:

count = 10 count += 5 count 现在是 15 count *= 2 count 现在是 30 print(count) 连续赋值 a = b = c = 100 print(a, b, c) 100 100 100

逻辑运算符

逻辑运算符用于组合多个条件表达式。Python 的逻辑运算符具有“短路”特性,即如果第一个操作数已经能确定最终结果,第二个操作数就不会被评估。

运算符

描述

示例 (a=True, b=False)

结果

and

与

a and b

False

or

或

a or b

True

not

非

not a

False

示例:

age = 25 has_id = True and: 两者都为真才为真 if age >= 18 and has_id: print("允许进入") or: 只要有一个为真即为真 is_weekend = False is_holiday = True if is_weekend or is_holiday: print("今天休息") not: 取反 is_raining = False if not is_raining: print("不用带伞")

位运算符

位运算符直接对整数的二进制位进行操作。虽然在日常业务开发中使用较少,但在底层优化、加密算法或硬件交互中非常有用。

假设 a = 60 (二进制 0011 1100),b = 13 (二进制 0000 1101):

运算符

描述

示例

结果 (二进制)

结果 (十进制)

&

按位与

a & b

0000 1100

12

\|

按位或

a \| b

0011 1101

61

^

按位异或

a ^ b

0011 0001

49

~

按位取反

~a

1100 0011(补码)

-61

<<

左移

a << 2

1111 0000

240

>>

右移

a >> 2

0000 1111

15

示例:

a = 60 0011 1100 b = 13 0000 1101 print(a & b) 12 print(a | b) 61 print(a ^ b) 49 print(~a) -61 print(a << 2) 240 print(a >> 2) 15

成员运算符

成员运算符用于测试序列(如字符串、列表、元组)中是否包含某个值。

运算符

描述

示例

in

如果在指定序列中找到值返回 True

'a' in 'apple'-> True

not in

如果在指定序列中没找到值返回 True

'b' not in 'apple'-> True

示例:

fruits = ["apple", "banana", "cherry"] if "banana" in fruits: print("香蕉在水果列表中") if "grape" not in fruits: print("葡萄不在水果列表中") 字符串检查 message = "Hello World" if "World" in message: print("找到 World")

身份运算符

身份运算符用于比较两个对象的存储单元(内存地址),即判断它们是否是同一个对象。这与 不同, 比较的是值。

运算符

描述

示例

is

如果两个变量指向同一个对象返回 True

a is b

is not

如果两个变量指向不同对象返回 True

a is not b

示例:

a = [1, 2, 3] b = [1, 2, 3] c = a print(a == b) True,因为值相同 print(a is b) False,因为它们是两个不同的列表对象,内存地址不同 print(a is c) True,因为 c 指向 a 的内存地址 小整数缓存机制示例 x = 256 y = 256 print(x is y) True,Python 对小整数有缓存 x = 257 y = 257 print(x is y) 可能为 False,取决于解释器实现

运算符优先级

当表达式中包含多个运算符时,Python 会按照优先级顺序进行计算。优先级从高到低如下表所示(同一行优先级相同):

优先级

运算符

描述

1

**

指数

2

~, +, -

按位翻转,一元加号和减号

3

*, /, %, //

乘,除,取模,整除

4

+, -

加法,减法

5

>>, <<

右移,左移

6

&

按位与

7

^

按位异或

8

\|

按位或

9

in, not in, is, is not, <, <=, >, >=, !=, ==

比较,成员,身份运算符

10

not

逻辑非

11

and

逻辑与

12

or

逻辑或

示例:

优先级示例 result = 2 + 3 * 4 print(result) 14,因为乘法优先级高于加法 使用括号明确意图 result_with_parentheses = (2 + 3) * 4 print(result_with_parentheses) 20
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进