22.Python赋值运算符(入门必读)

赋值运算符主要用来为变量(或常量)赋值,在使用时,既可以直接用基本赋值运算符“=”将右侧的值赋给左侧的变量,右侧也可以在进行某些运算后再赋值给左侧的变量。

= 基本赋值运算符

Python 使用“=”作为赋值运算符,常用于将表达式的值赋给另一个变量。例如如下代码:

  1. # 为变量st赋值为Python
  2. st = "Python"
  3. # 为变量pi赋值为3.14
  4. pi = 3.14
  5. # 为变量visited赋值为True
  6. visited = True

除此之外,也可使用赋值运算利将一个变量的值赋给另一个变量。例如,如下代码也是正确的:

  1. # 将变量st的值赋给st2
  2. st2 = st
  3. print(st2)

值得指出的是,Python 的赋值表达式是有值的,赋值表达式的值就是被赋的值,因此 Python 支持连续赋值。例如,如下代码也是正确的:

a = b = c = 20

上面程序将 c=20。这个表达式的值赋给变量 b,由于赋值表达式本身也有值,就是被赋的值,因此 c=20 这个表达式的值就是 20,故 b 也被赋值为 20;依此类推,变量 a 也被赋值为 20。

赋值运算符还可用于将表达式的值赋给变量。例如,如下代码也是正确的:

  1. d1 = 12.34
  2. # 将表达式的值赋给d2
  3. d2 = d1 + 5
  4. # 输出d2的值
  5. print("d2的值为:%g" % d2 ) # 17.34


需要初学者特别注意的是,= 和 == 的含义完全不同,前者是赋值号,后者是等号,千万不要混淆。

扩展后的赋值运算符

= 赋值运算符还可与其他运算符(算术运算符、位运算符等)结合,成为功能更强大的赋值运算符,如表 1 所示。

表 1 Python 常用赋值运算符
运算符 说 明 举 例 展开形式
= 最基本的赋值运算 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,这里的 y 指的是左移的位数
>>= 右移赋值 x >>= y x = x >> y,这里的 y 指的是右移的位数

这里举几个简单的例子:

  1. a = 1
  2. b = 2
  3. a += b
  4. print("a+b=",a)#1+2=3
  5. a -= b
  6. print("a-b=",a)#3-2=1
  7. a *= b
  8. print("a*b=",a)#1*2=2
  9. a /= b
  10. print("a/b=",a)#2/2=1.0
  11. a %= b
  12. print("a%b=",a)#1%2=1.0
  13. c = 0
  14. d = 2
  15. c &= d
  16. print("c&d=",c)#0&2=0
  17. c |= d
  18. print("c|d=",c)#0|2=2

运行结果为:

a+b= 3
a-b= 1
a*b= 2
a/b= 1.0
a%b= 1.0
c&d= 0
c|d= 2

需要注意的是,程序中 a 的值通过 /= 和 %= 运算后,类型隐式改变成了浮点型,而浮点数是不能进行 &、|、^、<< 和 >> 运算的,否则 Python 解释器会报错(这些都属于位运算符,具体用法后续文章会详细介绍)。

通常情况下,只要能使用扩展后的赋值运算符,都推荐使用这种赋值运算符。

posted @ 2019-12-19 15:02  youqc  阅读(2167)  评论(0编辑  收藏  举报