我正在学习编程语言的概念。
我找到了术语" nonlocal"用python语法。
python中的nonlocal是什么意思?
答案 0 :(得分:1)
非本地语句使列出的标识符引用最近的封闭范围中先前绑定的变量。这很重要,因为绑定的默认行为是首先搜索本地名称空间。除了全局(模块)范围之外,该语句允许封装代码重新绑定局部范围之外的变量。
非本地语句中列出的名称与全局语句中列出的名称不同,必须引用封闭范围中的预先存在的绑定(无法明确确定应创建新绑定的范围)。
非本地语句中列出的名称不得与本地范围中预先存在的绑定冲突
答案 1 :(得分:0)
非局部变量存在于嵌套循环中。使用关键字nonlocal并采用最近的封闭循环中的值。一个例子是: def external(): x =“本地”
def inner():
nonlocal x
x = "nonlocal"
print("inner:", x)
inner()
print("outer:", x)
由于内部函数更改了x的值,因此两次输出均为“非本地”。