Python作用域

wordmhg 2019-12-07

一、全局作用域

--全局作用域在程序执行时创建,程序执行结束销毁  

--所有函数意外的区域都是全局作用域

二、全局变量(包含函数在内)

--在全局作用域定义的变量都是全局变量,全局变量可以在程序的任意位置访问

三、函数作用域

--局部作用域在函数被调用时创建,函数结束时销毁

--函数内部的区域叫做函数作用域

--函数每访问一次都会产生一个新的作用域。  

四、局部变量(包含函数在内    )

--在函数内部定义的变量叫做局部变量,局部变量只能在函数内部被访问,且函数结束时变量被销毁。  

五、变量的使用

--当我们使用变量时,会优先在当前作用域寻找变量,  当不存在时,去上一级作用域寻找。当在全局作用域依然没有找到,则会抛出异常。  

六、命名空间

--变量都保存在命名空间中,不同的作用域有不同的命名空间。其本质就是一个字典,内部保存变量以及变量的值,  可以通过locals()函数来查看当前作用域的命名空间。可以通过locals()函数来操作命名空间内部的变量。 

--全局命名空间,可以通过glocals()函数在任意位置获取全局变量,全局命名空间中获取不到局部变量

--函数命名空间,通过locals()函数获取当前命名空间内的变量,可以通过glocals获取全局变量            

相关推荐