命名空间和作用域
1.内置命名空间:python解释内部运行时的变量函数,list,tuple,str,int这些都是内置命名空间
2.全局命名空间:我们直接再py文件中,函数外声明的变量都属于全局命名空间
3.局部命名空间:在函数中声明的变量会放在局部命名空间
加载顺序:
1、内置命名空间
2、全局命名空间
3、局部命名空间
取值顺序:(就近原则)
1、局部命名空间
2、全局命名空间
3、内置命名空间
作用域:
1.全局作用域:内置+全局
2.局部作用域:局部
globals()查看全局作用域的名字
locals()查看当前作用域中的名字
3.global和nonlocal
global:把全局变量拿到局部来用或者在函数内部引入全局变量
nonlocal:把离他最近的一层的变量拿过来,不会找全局(在函数内部,内层函数访问外层函数中的局部变量)
浙公网安备 33010602011771号