Python 在查找"名称"时,是按照 LEGB 规则查找的:
Local-->Enclosed-->Global-->Built in
Local    指的就是函数或者类的方法内部
Enclosed 指的是嵌套函数(一个函数包裹另一个函数,闭包)
Global   指的是模块中的全局变量
Built in 指的是 Python 为自己保留的特殊名称

---- 来源于《Python学习手册》

Python的变量名解析机制称为:LEGB法则。L:本地作用域;E:上一层结构中def或lambda的本地作用域;G:全局作用域;B:内置作用域

LEGB作用域查找原则:当引用一个变量时,Python按以下顺序依次进行查找:从本地变量中,在任意上层函数的作用域,在全局作用域,最后在内置作用域中查找。第一个能够完成查找的就算成功。变量在代码中被赋值的位置通常就决定了它的作用域。在Python3.0中,nonlocal声明也可以迫使名称映射到函数内部的作用域中,而不管是否对其赋值。

这些规则仅对简单的变量名有效。

Python语言编程之LEGB变量作用域法则相关推荐

  1. Python高效编程之88条军规(2):你真的会格式化字符串吗?

    目录 1.  C风格的字符串格式化方式 2. 内建format函数与str.format方法 3. f-字符串 总结: 在微信公众号「极客起源」中输入595586,可学习全部的<Python高效 ...

  2. Python网络编程之二:网络编程基础

    Python网络编程之二:网络编程基础 一.基础概念 1.两个地址 1.1.mac地址 mac地址:直译为媒体存取控制位址,也称为局域网地址.MAC位址.以太网地址或物理地址,它是一个用来确认网络设备 ...

  3. Python并发编程之threading模块

    Python并发编程之threading模块 threading 模块 1. Timer对象 2. Lock对象 3. RLock 4. 信号量和有边界的信号量 5. 事件 6. 条件变量 7. 使用 ...

  4. python 多线程编程之_thread模块

    python 多线程编程之_thread模块 参考书籍:python核心编程 _thread模块除了可以派生线程外,还提供了基本的同步数据结构,又称为锁对象(lock object,也叫原语锁.简单锁 ...

  5. python中可以使用变量来引用函数吗_如何在python语言中使用函数变量并调用函数...

    在python语言中,除了常规变量之外,还有函数变量.把函数本身赋值给变量,这个变量为函数变量. 工具/原料 python pycharm 截图工具 WPS 方法/步骤 1 在已新建的python文件 ...

  6. 易语言编程之CE过驱动保护(ACE)调试教程

    易语言编程之CE过驱动保护(ACE)调试 很多时候,驱动保护很让人头疼, 一用CE,就提示开了程序要结束, 你一搜到地址鼠标右键想看看访问和写入的代码地址,找基址时候,游戏就退出了, 这个教程教你 可 ...

  7. Python网络编程之day01-网络编程基础

    Python网络编程之day01-网络编程基础 文章目录 Python网络编程之day01-网络编程基础 一.网络通信概述 二.IP地址 三.ping,ifconfig,ipconfig 四.端口 代 ...

  8. java声明变量简单程序_零基础学编程之java变量

    01使用变量的意义 变量相当于自然语言中的代词,代词具有代替.指示作用,比如每个人的姓名,代表的就是真实的一个个体.如果没有名字,我们在交流的时候,讨论某一个人就需要说:身高1米75,单眼皮,双下巴的 ...

  9. python函数式编程之functools、itertools、operator详解

    文章目录 写在篇前 itertools 无穷迭代器 最短停止迭代器 排列组合迭代器 operator 基本运算符函数 属性查询 functools partial & partialmetho ...

最新文章

  1. 熟知的CRM有哪些功能特点?
  2. Gradle里Copy任务(task)的使用
  3. 【转】visual studio 2019 (vs) 显示右侧缩略图_缩略图_滚动条
  4. SpringBoot Jar包外部application文件
  5. r语言集合补集_极速统计教程之八 | 概率和集合
  6. mac上可以使用的Windows远程桌面APP
  7. 【wps表格】重点标识折线图上的某个数据点
  8. nginx中$host、$http_host和$proxy_host区别
  9. 网络限制计算机连接怎么办,电脑本地连接受限制或无连接怎么办,教您解决方法...
  10. 树为什么能长这么高?
  11. 计算机网络 课后习题2-14 试写出下列英文缩写的全文,并做简单的解释。
  12. VMware注册问题
  13. 王川:小米盒子的产品观
  14. 【AE表达式】下载的模板表达式报错?大多数都是小问题!
  15. 内测“今视频”APP入局长视频,快手有钱之后“飘了”?
  16. 2022开学第一课,儿童开学安全指南(家长、学校必备)
  17. 使用EasyUI实现修改删除功能
  18. 快手2020校园招聘秋招笔试--工程B试卷 订正
  19. 电脑计算机未指定的错误,Win7系统的电脑为什么会出现未指定的错误
  20. 微信浏览器禁止app下载链接怎么办怎么解决

热门文章

  1. android第一天
  2. 关于Python中的self
  3. 简单JS实现走马灯效果的文字(无需jQuery)
  4. 我在大学毕业后学习Linux、python的一些经验
  5. 精读《Epitath 源码 - renderProps 新用法》
  6. lvs+keepalived实现负载均衡
  7. 【mysql】使用tpcc-mysql进行压力测试
  8. IDEA 连接 GIT OSCHINA 提交本地已存在的项目
  9. 基于Hibernate的JPA2.0快速构建
  10. ASP.NET基础教程-DataGrid表格控件-模板列的使用