wordmhg 2019-12-07
一、全局作用域
--全局作用域在程序执行时创建,程序执行结束销毁
--所有函数意外的区域都是全局作用域
二、全局变量(包含函数在内)
--在全局作用域定义的变量都是全局变量,全局变量可以在程序的任意位置访问
三、函数作用域
--局部作用域在函数被调用时创建,函数结束时销毁
--函数内部的区域叫做函数作用域
--函数每访问一次都会产生一个新的作用域。
四、局部变量(包含函数在内 )
--在函数内部定义的变量叫做局部变量,局部变量只能在函数内部被访问,且函数结束时变量被销毁。
五、变量的使用
--当我们使用变量时,会优先在当前作用域寻找变量, 当不存在时,去上一级作用域寻找。当在全局作用域依然没有找到,则会抛出异常。
六、命名空间
--变量都保存在命名空间中,不同的作用域有不同的命名空间。其本质就是一个字典,内部保存变量以及变量的值, 可以通过locals()函数来查看当前作用域的命名空间。可以通过locals()函数来操作命名空间内部的变量。
--全局命名空间,可以通过glocals()函数在任意位置获取全局变量,全局命名空间中获取不到局部变量
--函数命名空间,通过locals()函数获取当前命名空间内的变量,可以通过glocals获取全局变量