Python变量作用域

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

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

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

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

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

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

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

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

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

posted on 2016-03-10 19:39  liuriu  阅读(208)  评论(0)    收藏  举报