Skip to content

赋值运算符

赋值运算符

赋值运算符是使用 = 做为运算符号,将运算符右侧的数据或表达式的结果,保存到运算符左侧的标识符中。

在使用赋值运算符时,运算符右侧可以是任意类型的数据,但左侧必须是一个变量,否则会报错。

除普通的赋值运算符外,赋值运算符还可以和算术运算符组合成为复合赋值运算符。

Python 中提供的赋值运算符如下表所示:

运算符 描述 实例
= 简单的赋值运算符 c = a + ba + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

普通赋值运算符 =

将等号左侧的数据保存到等号右侧的变量中

a = 1
s = "Hello"
sum = 1 + 2

赋值运算符还支持同时定义多个变量

a, b, c = 1, 2, 3
print(a, b, c)

复合赋值运算符 +=

+= 运算符是算术运算符 + 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行加法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a += 20 # 相当于表达式  a = a + 20
print(a)

复合赋值运算符 -=

-= 运算符是算术运算符 - 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行减法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a -= 20 # 相当于表达式  a = a - 20
print(a)

复合赋值运算符 *=

*= 运算符是算术运算符 * 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行乘法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a *= 20 # 相当于表达式  a = a * 20
print(a)

复合赋值运算符 /=

/= 运算符是算术运算符 / 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行除法计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a /= 20 # 相当于表达式  a = a / 20
print(a)

复合赋值运算符 //=

//= 运算符是算术运算符 // 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行整除计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a //= 20 # 相当于表达式  a = a // 20
print(a)

复合赋值运算符 %=

%= 运算符是算术运算符 % 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行取模计算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a %= 20 # 相当于表达式  a = a % 20
print(a)

复合赋值运算符 **=

**= 运算符是算术运算符 ** 与 赋值运算符 = 的组合形式,用来简化计算赋值操作。

表达式会将等号左侧变量中的数据与等号右侧的值进行幂运算,然后将计算结果重新保存到等号左侧的变量中。

a = 10
a **= 20 # 相当于表达式  a = a ** 20
print(a)

复合赋值运算符使用注意

当使用复合赋值运算符时,计算过程上看似对运算符进行展开后运算,而实际执行过程中,复合赋值运算符并不会进行展开操作。

特别是复合赋值运算符和其它运算符一起使用时,要特别注意。

n = 2
# 该表达式结果为 14, 并不是10
# 如果一定要展开,可以理解展开后为 n = n * ( 3 + 4)
n *= 3 + 4
print(n)