""" 名称空间 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)