Python赋值运算符¶
赋值运算符用来把右侧的值传递给左侧的变量(或常量); 可以直接将右侧的值传递左侧的变量, 也可以进行某些运算后再传递, 比如加减乘除, 函数调用, 逻辑运算等.
基本赋值运算符¶
=是Python中最常见, 最基本的赋值运算符, 用来将一个表达式的值赋给另一个变量.
- 连续赋值
Python中的赋值表达式也是有值的, 它的值就是被赋的那个值; 如果将赋值表达式的值再赋值给另一个变量, 这就构成了连续赋值.
Example:
a = b = c = 100
=具有右结合性, 我们从右往左分析这个表达式:
c = 100表示将100赋值给c, 所以c的值是100; 同时,c = 100这个表达式的值也是100;b = c = 100表示将c = 100的值赋给b, 因此b的值也是100;- 以此类推, a的值也是100.
=和==
=和==是两个不同的值, =用来赋值, 而==用来判断两边的值是否相等.
复合赋值运算符¶
=还可以和其它运算符(包括算术运算符, 位运算符和逻辑运算符)相结合, 扩展成为功能更加强大的赋值运算符.
扩展后的赋值运算符将使得赋值表达式的书写更加优雅和方便.
| 运算符 | 说明 | 用法举例 | 等价形式 |
= |
最基本的赋值运算 | x = y |
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 |
&= |
按位与赋值 | 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 |
通常情况下, 只要能使用扩展后的赋值运算符, 都推荐使用这种赋值运算符.
但是需要注意的是, 这种赋值运算符只能针对已经存在的变量赋值, 因为赋值过程中需要变量本身参与运算, 如果变量没有提前定义, 它的值就是未知的, 无法参与运算.