Python变量作用域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python变量作用域相关的知识,希望对你有一定的参考价值。
Python对于作用域有四种:buildin作用域、全局作用域(模块作用域或文件作用域)、高层函数作用域和局部作用域。
其中buildin作用域是Python内建作用域,在Python初始化时建立的;
全局作用域是在文件中直接定义的变量所处的作用域;
高层函数作用域是外层函数中定义的局部变量所处的作用域;
局部作用域是函数内部定义的局部变量所处的作用域;
而在Python语言中变量赋值的位置即是其变量所处的作用域。
Python在查找一个变量时首先从局部作用域查起,若未找到则依次查找高层函数作用域、全局作用域和buildin作用域,若查找无结果则抛出异常。
因此,内层的变量赋值语句将会覆盖外层的变量定义。
若需要在内层修改全局的变量,那么就需要global语句声明变量的作用域。
以上是关于Python变量作用域的主要内容,如果未能解决你的问题,请参考以下文章
Python 局部变量global,全局变量local ,非局部变量nonlocal ,Enclosing function locals作用域