"""
名称空间
namespace
就是存储名字的内存区域
名称空间的分类
内置名称空间,存的是解释器自带的名称,例如print,len,其特点是在程序运行过程中一直有效
特点:其特点是在程序运行过程中一直有效
生命周期:随着解释器的启动而生效,随着解释器运行结束而失效
全局名称空间
只要是顶着最左边写的,没有任何缩进的,就在全局名称空间中
特点:其特点是在程序运行过程中一直有效
生命周期:随着py文件的执行而生效,随着py文件的执行结束而失效
需要注意的是:在if 中 如果if 是顶着最左边的没有缩进的那么if里面的名字也属于全局
同样的,while for with都是如此
局部名称空间
存的是函数内定义的名字,
特点:仅在函数调用时临时有效
生命周期:随着函数的调用而生效,随着函数的调用结束而失效
名称空间的加载顺序
内置 -- > 全局 -- > 局部
名字的查找顺序
局部 -- > 全局 -- > 内置
"""
# print(len)
# name = "bgon"
# print(name)
# if 1 == 1:
# age = 1 # 也是全局的
#
# print(age)
#
#
# with open("2.名称空间.py",encoding="utf-8") as f:
# a = 100 # 也在全局名称空间
# print(a)
# def func1():
# a = 100
# print(a)
#
# func1()
# print(a)
#
# a = 200
# def func1():
# a = 100
# print(a)
#
# func1()
# len = 200
# def func1():
# len = 100
# def func2():
# # len = 300
# print(len)
# len = 1
# func2()
# func1()
name = "张三"
# del name
# print(name)
# def f1():
# def f2():
# def f3():
# print(name)