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]
所以在这里你无意中修改了两个列表,因为它们都引用了同一组内存地址。
编辑:
实际上,您的示例有所不同。单行链式分配更紧凑,但可能变得不那么清晰,所以我个人几乎从不使用它们。
与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]
所以在这里你无意中修改了两个列表,因为它们都引用了同一组内存地址。
编辑: 实际上,您的示例有所不同。单行链式分配更紧凑,但可能变得不那么清晰,所以我个人几乎从不使用它们。