python——函数 11、命名空间

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

三者取值顺序:局部->全局->内置
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()
#当局部没有值和全局也没有值时就会找内置
View Code
原文地址:https://www.cnblogs.com/StevenSunYiwen/p/8909120.html