三种名称空间
1、内置名称空间:
python解释器自带的名字,如:print、sum、max
当解释器启动时就会形成这个空间
2、全局名称空间:
执行python程序时就会产生这个空间
在每行顶端写代码
a=10 def foo(): print(a) foo()
3:局部名称空间
定义在函数内部的名字
在调用函数时生效
# def foo2(a,b): # c=1 # print(a,b,c) # foo2(10,9)
三者加载顺序:内置->全局->局部
三者取值顺序:局部->全局->内置
a=10 def foo1(): a=20 print(a) foo1() # 因为局部有一个值 所以打印为20 b=10 def foo2(): #b=20 print(a) foo2() #当局部没有值时 就会找全局所以打印为10 #sum=10 def foo3(): #sum=20 print(sum) foo3() #当局部没有值和全局也没有值时就会找内置