x = 15  # 全局变量G

def func_a():
print(x)

def func_b():
print(x)

def func_c():
global x # 在定义函数内声明x为全局变量后,才可以调用x,否则出现错误;
x1 = x + 1 # 此时x1 = 16
x += 5 # 此时x保持为全局变量,变为20;
print(x)
print(x1)

func_a() # 15
func_b() # 15
func_c() # 16
print(x) # 20

一、Python中的域:

L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内建作用域

二、Python 访问局部变量和全局变量的规则:

以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。

如果找不到则抛出 UnboundLocalError 异常。

 

最新文章

  1. MAC下apache+php
  2. Spring MVC视图解析器
  3. 【iCore3 双核心板_FPGA】实验十八:基于单口RAM的ARM+FPGA数据存取实验
  4. 【洛谷P3258】松鼠的新家
  5. Android 中的异步下载
  6. [BIM]案例
  7. 相当管用了 mstha插件
  8. asp.net repeater控件操作
  9. crm2011js操作选项卡和节点
  10. 一致性算法--Paxos
  11. CSS服务器字体
  12. 用npm安装git上的项目
  13. python对象继承
  14. camera理论基础和工作原理【转】
  15. 【机器学习_5】Anaconda:初学Python、入门机器学习的首选
  16. css--clearfix浮动
  17. 优先队列/oriority queue 之最大优先队列的实现
  18. Delegate比较全面的例子(需整理)
  19. vue组件--TagsInput
  20. vue.js学习 自定义过滤器使用(1)

热门文章

  1. Python实现随机森林RF并对比自变量的重要性
  2. clion添加ROS环境变量
  3. Zstack使用经验系列1-安装的网络配置
  4. 如何在VC++ 6.0中实现拖动指令改变执行路径?
  5. 题解 P5072 【[Ynoi2015] 盼君勿忘】
  6. 基于C++的OpenGL 14 之模型加载
  7. 大道至简的架构设计思想之:封装(C系架构设计法,sishuok)
  8. gin 01
  9. LeetCode-429 N叉树的层次遍历
  10. js手动触发页面元素点击事件,自定义点击事件模拟点击