大家都知道,在Python分配不返回值,大概是为了避免if
报表任务时,通常只是一个比较的目的是:赋值语句值
>>> if a = b:
File "<stdin>", line 1
if a = b:
^
SyntaxError: invalid syntax
>>> if a == b:
... pass
...
出于同样的原因,人们可以怀疑多在同一个语句上的赋值也是语法错误。
事实上,a = (b = 2)
是不是一个有效的表达式:
>>> a = (b = 2)
File "<stdin>", line 1
a = (b = 2)
^
SyntaxError: invalid syntax
所以,我的问题是:为什么a = b = 2
作品在Python,因为它的工作原理在赋值语句具有价值的其他语言,如C?
>>> a = b = c = 2
>>> a, b, c
(2, 2, 2)
此行为是否记录在案?我无法找到这事的赋值语句文档中:http://docs.python.org/reference/simple_stmts.html#assignment-statements