python的名称空间和作用域

含义:python的名称空间就是把栈区中的进行分类,作用域是根据名称空间的作用范围和特点进行分类

 

 

 

# 一:名称空间namespace:存放名字的地方,是对栈区的划分
# 有了名称空间之后,就可以在栈区中存放相同的名字,详细的,名称空间
# 分为三种
# 1.1 内置名称空间
# 存放的名字:存放的python解释器内置的名字
'''
>>> print
>>> input
'''
# 存活周期:python解释器启动则产生,python解释器关闭则销毁

# 1.2 全局名称空间
# 存放的名字:运行顶级代码所产生的名字,或者说不是函数内定义,也不是内置的,剩下的都是全局名称空间
# 存活周期: python文件执行则产生,python文件运行完毕后
import os
x = 10
if 13 > 3:
y = 20
if 3 ==3:
z = 20


def func():
a = 111
b = 222

# 1.3 局部名称空间
# 存放的名字:在调用函数时,运行函数体代码过程中产生的函数内的名字
# 存活周期:在调用函数时存活,函数调用完毕后则销毁


def func():
a = 111
b = 222


# 1.4 名称空间的加在顺序
# 内置名称空间> 全局名称空间>局部名称空间


# 1.5 销毁顺序
# 局部名称空间>全局名称空间>内置名称空间


# 1.6 名字的查找优先级:当前所在的位置向上一层一层查找
# 内置名称空间
# 全局名称空间
# 局部名称空间

注意:名称空间已定义阶段为准,如图:

 

posted @ 2020-05-21 20:26  Pykingchen  阅读(111)  评论(0编辑  收藏  举报