0
在this paragraph,人們可以找到下面這句話(我的重點):Python的參考語言:外地定義
名在外地聲明中列出的,不像那些在全球聲明中列出的,必須引用預先存在在封閉範圍內綁定(應創建新綁定的範圍無法明確確定)。
我採取大膽-ED句話在括號解釋前一句的意思是爲了讓外地的語句,如nonlocal a
是正確的,聲明如a = 1
應該在什麼命名空間增加決定的問題(或修改)綁定,無論是在本地名稱空間還是在封閉名稱空間中(因爲存在已包含名稱爲a
的綁定的名稱空間)。
這是正確的,是這樣的意圖?
如果是的話,我相信甚至對於全球性的案例(即括號內的措辭),「應該創建新綁定的範圍不能明確確定」也適用,這不是明確的。我對麼?
是的,我明白了,我認爲句子的第一部分清楚地說明了這一點:「在非本地聲明中列出的名稱,與全局聲明中列出的名稱不同,**必須指封閉中的預先存在的綁定範圍**」。我對這句話的其餘部分的正確性感到疑惑:「(創建新綁定的範圍不能毫不含糊地確定)」。 – user42768
@ user42768:括號中的部分是說如果沒有現有的綁定,Python將不得不創建一個新的綁定,並且它不能告訴在哪裏做。 – user2357112
我不明白你是怎麼得到的「一個像a = 1這樣的語句應該在決定添加(或修改)綁定的命名空間時遇到問題」。賦值語句不是非局部語句,並且不使用相同的規則。 – user2357112