标签:
Python对于作用域有四种:buildin作用域、全局作用域(模块作用域或文件作用域)、高层函数作用域和局部作用域。
其中buildin作用域是Python内建作用域,在Python初始化时建立的;
全局作用域是在文件中直接定义的变量所处的作用域;
高层函数作用域是外层函数中定义的局部变量所处的作用域;
局部作用域是函数内部定义的局部变量所处的作用域;
而在Python语言中变量赋值的位置即是其变量所处的作用域。
Python在查找一个变量时首先从局部作用域查起,若未找到则依次查找高层函数作用域、全局作用域和buildin作用域,若查找无结果则抛出异常。
因此,内层的变量赋值语句将会覆盖外层的变量定义。
若需要在内层修改全局的变量,那么就需要global语句声明变量的作用域。
标签:
原文地址:http://www.cnblogs.com/liuriu/p/5263164.html