名称空间的概念
1. 什么是名称空间?
就是绑定变量名和变量值的地方
2. 名称空间的分类:
内置名称空间
全局名称空间
局部名称空间
内置名称空间
在python解释器中,如:
len()
print()
open()
全局名称空间
# 在py文件中,顶格写的都是全局名称空间
name = 'ly'
def func(): # func函数名就在全局名称空间中
pass
a = [11, 22, 33]
for i in a: # i 也在全局名称空间中
print(i) ==>这个i是局部名称空间
print(i) ==>全局名称空间
while True:
x = 123 # 也在名称空间
break
print(globals()) # 查看全局的名称空间
局部名称空间
# 在函数体中存在的都是局部的
def index(a, b, c):
x = 222
y = 111
print(a, b, c)
index(1, 2, 3)
print(locals()) # 查看局部的名称空间
名字的查找顺序
查找顺序:
1. 看自己位置在哪里:
如果在局部:局部 >>> 全局 >>> 内置
如果在全局: 全局 >>> 内置
# 局部名称空间的嵌套:
def f1():
x = 222
def f2():
x = 333
def f3():
x = 444
def f4():
x = 555
def f5():
x = 666
print(x)
f5()
f4()
f3()
f2()
f1()
标签:简介,局部,print,名称,空间,全局,def 来源: https://www.cnblogs.com/blog-tc/p/15772406.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。