这样做是否合法
a = b = 3
在蟒蛇?如果是这样,这是一个不好的做法吗?
是的,这样做是合法的。不,这不是坏习惯。
请注意,首先计算右侧的值表达式,然后从左到右进行赋值;3
首先分配给a
,然后分配给b
。
从作业声明文档中:
赋值语句计算表达式列表(请记住,这可以是单个表达式或逗号分隔的列表,后者产生一个元组)并将单个结果对象从左到右分配给每个目标列表。
您为所有目标分配相同的值。这意味着每个变量只引用一个值。当该值是可变的(例如列表或字典)时,这一点很重要。
是的,请注意以下内容:
a = b = []
a.append(2)
print a
print b
印刷:
[2]
[2]
但除此之外,还好。@Martijn在他的答案中有很多信息,所以请查看:)。