0
在this paragraph,人们可以找到下面这句话(我的重点):Python的参考语言:外地定义
名在外地声明中列出的,不像那些在全球声明中列出的,必须引用预先存在在封闭范围内绑定(应创建新绑定的范围无法明确确定)。
我采取大胆-ED句话在括号解释前一句的意思是为了让外地的语句,如nonlocal a
是正确的,声明如a = 1
应该在什么命名空间增加决定的问题(或修改)绑定,无论是在本地名称空间还是在封闭名称空间中(因为存在已包含名称为a
的绑定的名称空间)。
这是正确的,是这样的意图?
如果是的话,我相信甚至对于全球性的案例(即括号内的措辞),“应该创建新绑定的范围不能明确确定”也适用,这不是明确的。我对么?
是的,我明白了,我认为句子的第一部分清楚地说明了这一点:“在非本地声明中列出的名称,与全局声明中列出的名称不同,**必须指封闭中的预先存在的绑定范围**”。我对这句话的其余部分的正确性感到疑惑:“(创建新绑定的范围不能毫不含糊地确定)”。 – user42768
@ user42768:括号中的部分是说如果没有现有的绑定,Python将不得不创建一个新的绑定,并且它不能告诉在哪里做。 – user2357112
我不明白你是怎么得到的“一个像a = 1这样的语句应该在决定添加(或修改)绑定的命名空间时遇到问题”。赋值语句不是非局部语句,并且不使用相同的规则。 – user2357112