大家都知道,在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