Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Programming languages 非局部变量和全局变量之间的区别是什么?_Programming Languages_Python Nonlocal - Fatal编程技术网

Programming languages 非局部变量和全局变量之间的区别是什么?

Programming languages 非局部变量和全局变量之间的区别是什么?,programming-languages,python-nonlocal,Programming Languages,Python Nonlocal,我正在学习编程语言的概念 我在python语法中找到了术语“非本地” 非局部在python中的含义是什么?非局部语句使列出的标识符引用最近封闭范围内以前绑定的变量。这很重要,因为绑定的默认行为是首先搜索本地名称空间。该语句允许封装的代码将变量重新绑定到全局(模块)范围之外的局部范围之外 与全局语句中列出的名称不同,非局部语句中列出的名称必须引用封闭范围中预先存在的绑定(不能明确确定应在其中创建新绑定的范围) 非局部语句中列出的名称不得与局部范围中预先存在的绑定冲突非局部变量存在于嵌套循环中。使用

我正在学习编程语言的概念

我在python语法中找到了术语“非本地”


非局部在python中的含义是什么?

非局部语句使列出的标识符引用最近封闭范围内以前绑定的变量。这很重要,因为绑定的默认行为是首先搜索本地名称空间。该语句允许封装的代码将变量重新绑定到全局(模块)范围之外的局部范围之外

与全局语句中列出的名称不同,非局部语句中列出的名称必须引用封闭范围中预先存在的绑定(不能明确确定应在其中创建新绑定的范围)


非局部语句中列出的名称不得与局部范围中预先存在的绑定冲突

非局部变量存在于嵌套循环中。使用关键字nonlocal,并从最近的封闭循环中获取值。例如:-

def outer():
x=“本地”
def inner():
非局部x
x=“非本地”
打印(“内部:”,x)
内()
打印(“外部:”,x)
当x的值被内部函数更改时,两次输出都是“非本地”的。

请参见