Xce*_*ons 1 python variable-assignment
在Python中,有什么区别
x = y = 0
Run Code Online (Sandbox Code Playgroud)
和
x = 0
y = 0
Run Code Online (Sandbox Code Playgroud)
IIRC,对于不可变类型(例如示例中的 int )没有区别。但在对可变变量进行链式赋值时要注意潜在的问题:
>>> foo = bar = []
>>> print(id(foo) == id(bar))
Out: True
>>> foo.append(1)
>>> bar
Out: [1]
Run Code Online (Sandbox Code Playgroud)
因此,您在这里无意中修改了两个列表,因为它们都引用同一组内存地址。
编辑:实际上,您的示例存在差异。单行链式作业更紧凑,但可能变得不太清晰,所以我个人几乎从不使用它们。
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |