博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python作用域
阅读量:5154 次
发布时间:2019-06-13

本文共 499 字,大约阅读时间需要 1 分钟。

LEGB 规则

Python 使用 LEGB 的顺序来查找一个符号对应的对象

locals -> enclosing function -> globals -> builtins
  • locals,当前所在命名空间(如函数、模块),函数的参数也属于命名空间内的变量
  • enclosing,外部嵌套函数的命名空间(闭包中常见)
    def fun1():  a = 10  def fun2():      print(a)
  • globals,全局变量,函数定义所在模块的命名空间
    a = 1def fun():  # 需要通过 global 指令来声明全局变量  global a  # 修改全局变量,而不是创建一个新的 local 变量  a = 2
  • builtins,内建模块的命名空间。

    Python 在启动的时候会自动为我们载入很多内建的函数、类,  比如 dict,list,type,print,这些都位于 __builtin__ 模块中,  可以使用 dir(__builtin__) 来查看。
 

转载于:https://www.cnblogs.com/yrzsp/p/11010776.html

你可能感兴趣的文章
sublime3
查看>>
js编写时间选择框
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
Attributes.Add用途与用法
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>
javascript 无限分类
查看>>
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
侧边栏广告和回到顶部
查看>>
https://blog.csdn.net/u012106306/article/details/80760744
查看>>
海上孤独的帆
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>