python中的连续赋值

python中的连续赋值,python,variable-assignment,Python,Variable Assignment,这样做合法吗 a = b = 3 用python?如果是这样,这是一种不好的做法吗?是的,这样做是合法的。不,这不是坏习惯 只需考虑首先计算右侧的值表达式,然后从左到右赋值;3首先分配给a,然后分配给b 从: 赋值语句对表达式列表求值请记住,它可以是单个表达式或逗号分隔列表,后者生成一个元组,并将单个结果对象从左到右分配给每个目标列表 将相同的值指定给所有目标。这意味着每个变量只引用一个值。当该值是可变的时,如列表或字典,这一点很重要。是的,请注意以下内容: a = b = [] a.appe

这样做合法吗

a = b = 3

用python?如果是这样,这是一种不好的做法吗?

是的,这样做是合法的。不,这不是坏习惯

只需考虑首先计算右侧的值表达式,然后从左到右赋值;3首先分配给a,然后分配给b

从:

赋值语句对表达式列表求值请记住,它可以是单个表达式或逗号分隔列表,后者生成一个元组,并将单个结果对象从左到右分配给每个目标列表


将相同的值指定给所有目标。这意味着每个变量只引用一个值。当该值是可变的时,如列表或字典,这一点很重要。

是的,请注意以下内容:

a = b = []
a.append(2)
print a
print b
印刷品:

[2]
[2]

但除此之外,没关系。在他的答案中有很多信息,所以请查看:。

你本可以在不到1秒的时间内试一试。@MartijnPieters,但我不能试一试第二个问题。这不是一个好问题PRACTICE@Shai是的,这是一个很好的实践,所以这个问题主要不是基于意见的,这是Python的一个特性,应该得到大力推广,没有人能反对PEP-8针对一行中多个表达式的建议。这不是这样的例子吗?不,这不是。它是一条语句,PEP 8警告不要使用多条语句,而不是多个表达式。PEP 8在其他方面对任务中的目标数量保持沉默。@Vorac在PEP-8上的什么位置?我好像找不到它myself@Haidro:复合语句通常不鼓励在同一行上使用多个语句,指的是在一行上使用if something:true_语句,或使用;将多个语句放在一行。@MartijnPieters,闪电般的快!我知道它在哪里,你先拿到它。你是搜索得很快,还是只知道壁炉旁的一切:D?@kawing chiu只有半个小时?我花了好几个小时才弄明白