码迷,mamicode.com
首页 > 编程语言 > 详细

python——函数 11、命名空间

时间:2018-04-22 21:55:48      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:加载   foo   调用   生效   代码   自带   加载顺序   python程序   空间   

三种名称空间
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

 

python——函数 11、命名空间

标签:加载   foo   调用   生效   代码   自带   加载顺序   python程序   空间   

原文地址:https://www.cnblogs.com/StevenSunYiwen/p/8909120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!