Python 中 x = y = 0 和 x = 0 y = 0 有什么区别

What is the difference between x = y = 0 and x = 0 y = 0 in Python

与python有什么区别

x = y = 0

x = 0
y = 0

IIRC,不可变类型(如示例中的 int)没有区别。但是在对可变变量进行链式赋值时要注意潜在的问题:

>>> foo = bar = []
>>> print(id(foo) == id(bar))

Out: True

>>> foo.append(1)
>>> bar

Out: [1]

所以在这里你无意中修改了两个列表,因为它们都引用了同一组内存地址。

编辑: 实际上,您的示例有所不同。单行链式分配更紧凑,但可能变得不那么清晰,所以我个人几乎从不使用它们。