python实现同时给多个变量赋值的方法

直接给多个变量赋值。
a、b = 0、1 断言 a == 0 断言 b == 1
从元组中赋值。
x, y = (1 , 2 ) 断言x==1 断言 y == 2
从列表中分配一个值。
r, g, b = [“红”,“绿”,“蓝”] 断言 r == "红色" 断言 g == "绿色" assert b == "Blue"
这个操作很方便。

深度解析Python复合赋值运算符

嘿,我们来谈谈Python中的复合赋值运算符。
这个很实用,也省事。

对于数字类型,最常见的是 +=、-=、=、/=、//= 和 %=。
例如,num = 5 ,然后num += 3 ,相当于num = num + 3 ,最后num为8 这可以为您省去很多麻烦,因为您不必一遍又一遍地写数字。

在字符串方面,只能使用两种,+=和=。
例如,message = "Hello",然后message += "World",相当于message = message + "World",最后是"HelloWorld"。
字符串是不可变的,因此 += 实际上创建了一个新对象,而不是改变原始对象。
text = "Python" 然后 text = 3 ,这相当于 text = text 3 最后是 "PythonPythonPython"。

列表更好玩,+=和=都可以用。
number = [1 , 2 , 3 ],然后number += [4 , 5 ],相当于number.extend([4 , 5 ]),最后number变成[1 , 2 , 3 , 4 , 5 ]。
这实际上是直接对原始列表进行操作,而不是创建一个新列表。
item = ['apple'] 然后 item = 3 ,相当于 item = item 3 ,最后是 ['apple', 'apple', 'apple']。
如果原始列表为空,= 也是一个空列表。

链式调用也很有趣。
例如,x、y、z = 2 、3 、4 ,然后 x += y += z。
这实际上意味着首先 y += z(y 变为 7 ),然后 x += y(x 变为 9 ),最后输出 x=9 , y=7 , z=4 如果从右向左执行,请注意顺序。

好处很多:代码简单,不用写重复的变量名;它非常易读,x = 2 明确表示“双 x”;在列表操作上有很好的性能,可以直接改变原来的而不需要重新分配内存;它还支持多种数据类型。

但请注意:+=对于字符串和元组将创建一个新对象,而不是改变原始对象。
需要了解操作员的偏好。
例如,x = 5 ,然后x = 2 + 3 ,这相当于x (2 + 3 ),而不是(x 2 ) + 3 不要使用太复杂的链式调用,否则你不会理解它们。

总之,这个东西很好用,代码看起来也不错。
但说实话,刚开始使用的时候我并不太明白如何实现链式调用。
我只需要多练习。