我对 Python 开发比较陌生,在阅读语言文档时,我遇到了一行:
取消绑定被封闭范围引用的名称是非法的;编译器将报告一个 SyntaxError。
因此,在学习练习中,我试图在交互式 shell 中创建此错误,但我一直无法找到这样做的方法。我正在使用 Python v2.7.3,所以使用nonlocal关键字
def outer():
a=5
def inner():
nonlocal a
print(a)
del a
不是一个选项,并且不使用nonlocal,当 Pythondel a
在inner
函数中看到时,它会将其解释为尚未绑定的局部变量并引发UnboundLocalError
异常。
显然,关于全局变量,这条规则有一个例外,那么我怎样才能创造一种情况,即我“非法”解除对封闭范围引用的变量名的绑定?