核心结论先行
- (赋值运算符):它的作用是赋值,将右侧的值存入左侧的变量中,它不进行任何数学计算。
- (模运算符):它的作用是取余,计算两个数相除后的余数,它是一个算术运算符。
- (模赋值运算符):这是一个复合赋值运算符,是 和 的结合体,它的作用是:先进行取余运算,再将结果赋值给左侧的变量。
赋值运算符: (等于号)
这是最基础、最重要的运算符,它的意思是“把...赋值给...”。

- 语法:
变量 = 表达式 - 功能: 计算等号右边
表达式的值,然后将这个值存入等号左边的变量中。 - 关键点: 它不返回值,它的目的是改变变量的状态。
示例:
# 1. 基本赋值
x = 10
print(f"赋值后,x = {x}") # 输出: 赋值后,x = 10
# 2. 将一个表达式的结果赋值给变量
y = x + 5
print(f"y = x + 5 后,y = {y}") # 输出: y = x + 5 后,y = 15
# 3. 修改变量的值
x = 20
print(f"修改后,x = {x}") # 输出: 修改后,x = 20
# 4. 常见错误:混淆赋值和比较
# if x = 10: # 这行代码会报错!
# print("This will cause a SyntaxError")
# 解释:在 if 语句中,期望一个布尔值(真/假),x = 10 是一个赋值操作,它没有返回值,Python 不知道该如何判断,因此会抛出语法错误。
# 正确的写法是使用比较运算符 ==
if x == 10:
print("x 等于 10") # 这行不会执行,因为此时 x 是 20
else:
print("x 不等于 10") # 这行会执行
模运算符: (百分号)
这个运算符用于求余数,也就是除法运算后剩下的部分。
- 语法:
a % b - 功能: 计算
a除以b的余数。 - 关键点: 它是一个算术运算符,会返回一个计算结果。
示例:
# 1. 10 除以 3,商 3,余 1
remainder = 10 % 3
print(f"10 % 3 的结果是: {remainder}") # 输出: 10 % 3 的结果是: 1
# 2. 20 除以 5,商 4,余 0
remainder2 = 20 % 5
print(f"20 % 5 的结果是: {remainder2}") # 输出: 20 % 5 的结果是: 0
# 3. 判断一个数是否为偶数(如果能被 2 整除,余数为 0)
number = 42
if number % 2 == 0:
print(f"{number} 是一个偶数") # 输出: 42 是一个偶数
# 4. 判断一个数是否能被另一个数整除
if 100 % 4 == 0:
print("100 可以被 4 整除") # 输出: 100 可以被 4 整除
模赋值运算符: (百分号等于号)
这是一个“快捷方式”运算符,它将两个操作合并成一步。

- 语法:
变量 %= 表达式 - 功能: 等价于
变量 = 变量 % 表达式,它先计算变量自身对表达式取余的结果,然后再将这个结果赋值给变量本身。 - 关键点: 这是一个复合赋值,会改变变量的值。
示例:
# 初始值
a = 15
# 等价于 a = a % 4
# 1. 计算 a % 4 -> 15 % 4 = 3
# 2. 将结果 3 赋值给 a
a %= 4
print(f"a %= 4 后,a = {a}") # 输出: a %= 4 后,a = 3
# 另一个例子
b = 20
# 等价于 b = b % 6
# 1. 计算 b % 6 -> 20 % 6 = 2 (因为 6*3=18, 20-18=2)
# 2. 将结果 2 赋值给 b
b %= 6
print(f"b %= 6 后,b = {b}") # 输出: b %= 6 后,b = 2
总结与对比
为了更清晰地展示区别,我们用一个表格来总结:
| 运算符 | 名称 | 功能 | 示例 (x = 10) |
结果 (x 的值) |
说明 |
|---|---|---|---|---|---|
| 赋值运算符 | 将右侧的值存入左侧变量 | x = 5 |
5 |
将变量 x 的值改为 5。 |
|
| 模运算符 | 计算两数相除的余数 | y = x % 3 |
x 仍为 10,y 为 1 |
x 的值不变,y 得到计算结果 1。 |
|
| 模赋值运算符 | 取余并将结果赋值给变量 | x %= 3 |
1 |
先计算 10 % 3 = 1,再将 1 存入 x,x 的值被更新。 |
一句话概括:
x = 5是在说:“让 x 变成 5”。y = x % 3是在说:“计算 x 除以 3 的余数,把这个结果叫 y”。x %= 3是在说:“让 x 变成它自己除以 3 的余数”。
