Python变量作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python变量作用域相关的知识,希望对你有一定的参考价值。

Python对于作用域有四种:buildin作用域、全局作用域(模块作用域或文件作用域)、高层函数作用域和局部作用域。

其中buildin作用域是Python内建作用域,在Python初始化时建立的;

全局作用域是在文件中直接定义的变量所处的作用域;

高层函数作用域是外层函数中定义的局部变量所处的作用域;

局部作用域是函数内部定义的局部变量所处的作用域;

而在Python语言中变量赋值的位置即是其变量所处的作用域。

Python在查找一个变量时首先从局部作用域查起,若未找到则依次查找高层函数作用域、全局作用域和buildin作用域,若查找无结果则抛出异常。

因此,内层的变量赋值语句将会覆盖外层的变量定义。

若需要在内层修改全局的变量,那么就需要global语句声明变量的作用域。

以上是关于Python变量作用域的主要内容,如果未能解决你的问题,请参考以下文章

Python 函数和变量作用域

python变量的作用域一

python变量作用域

Python基础-变量作用域

python 变量作用域和列表

Python 局部变量global,全局变量local ,非局部变量nonlocal ,Enclosing function locals作用域