赋值运算符是使用=为运算符号,将运算符左侧的数据或表达式的结果,保存到运算符左侧的标识符中。
在使用赋值运算符时,运算符右侧可以是任意类型的数据,但左侧必须是一个变量,否则会报错。
除普通的赋值运算符外,赋值运算符还可以和算术运算符组合成为复合赋值运算符。
Python 中提供的赋值运算符如下表所示:
普通赋值运算符(=)
将等号左侧的数据保存到等号右侧的变量中
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)