作用域:作用范围
#命名空间:划分一块区域保存所有的数据,以字典方式存储(变量与值形成映射关系) #内建命名空间:解释器启动时创建,直到解释器运行结束,生存周期最长 #全局命名空间:文件运行时创建,直到解释器运行结束,生存周期较长 #局部命名空间:函数调用时,里面的局部变量创建,调用结束时释放,生命周期较短
创建顺序
python解释器启动->创建内建命名空间->创建全局命名空间->创建局部命名空间
销毁顺序
函数调用结束后->销毁对应局部命名空间数据->销毁全局命名空间数据->销毁内建命名空间数据
内部函数
内部函数不能直接在函数外部调用
调用外部函数后,内部函数不可以在函数外部调用
内部很熟可以再函数内部调用
内部函数在函数内部调用时,具有先后顺序,必须是先定义在调用
LEGB原则
#找寻变量的调用顺序采用LEGB原则(就近原则) L -- Local当前函数内的作用域(局部作用域) E -- Enclosing 外部嵌套函数的作用域(嵌套作用域) G -- Global 函数外部所在的命名空间(全局作用域) B -- Builtin python内置模块的命名空间(内建作用域)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通