• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
菩提叶子
博客园    首页    新随笔    联系   管理    订阅  订阅
Python命名空间(函数)

作用域:作用范围

#命名空间:划分一块区域保存所有的数据,以字典方式存储(变量与值形成映射关系)

#内建命名空间:解释器启动时创建,直到解释器运行结束,生存周期最长

#全局命名空间:文件运行时创建,直到解释器运行结束,生存周期较长

#局部命名空间:函数调用时,里面的局部变量创建,调用结束时释放,生命周期较短

创建顺序

python解释器启动->创建内建命名空间->创建全局命名空间->创建局部命名空间

销毁顺序

函数调用结束后->销毁对应局部命名空间数据->销毁全局命名空间数据->销毁内建命名空间数据

内部函数

内部函数不能直接在函数外部调用
调用外部函数后,内部函数不可以在函数外部调用
内部很熟可以再函数内部调用
内部函数在函数内部调用时,具有先后顺序,必须是先定义在调用

LEGB原则

#找寻变量的调用顺序采用LEGB原则(就近原则)
L -- Local当前函数内的作用域(局部作用域)
E -- Enclosing 外部嵌套函数的作用域(嵌套作用域)
G -- Global 函数外部所在的命名空间(全局作用域)
B -- Builtin python内置模块的命名空间(内建作用域)

 

posted on 2022-10-25 16:46  菩提叶子  阅读(80)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3