python名称空间及作用域
名称空间
存放名字的地方,是对栈区的划分,有了名称空间,可以在栈区中存放相同的名字
- 内置名称空间
存放python解释器内置的名称 存活周期:python解释器启动-关闭 >>> print <built-in function print> >>> input <built-in function input>
- 全局名称空间
运行顶级代码所产生的名字,或者说不是函数内定义,也不是内置的,剩下的就是全局名称空间 存活周期:代码开始执行产生,执行完毕后销毁
- 局部名称空间
在调用函数时,运行函数体代码中产生的名字 存活周期:函数调用时产生,函数调用完毕后销毁
- 名称空间的加载顺序:内置名称空间>全局名称空间>局部名称空间
- 名称空间的销毁顺序:局部名称空间>全局名称空间>内置名称空间
- 名称查找优先级:当前所在位置向上一层一层查找
- 名称空间的嵌套关系:只跟定义时的空间有关
作用域
- 全局作用域:内置名称空间、全局名称空间
- 局部作用域:局部名称空间
gloabal与nonlocal
gloabal x --->x是全局作用域中名称可以修改全局变量 nonlocal x---->以当前位置为起点向外寻找,终止位置是最外层函数体
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署