1-global 语句
  • 如果需要在一个函数内修改全局变量,就使用 global 语句。
  • 如果在函数的顶部有 global eggs 这样的代码,它就告诉 Python,“在这个函数中,eggs 指的是全局变
量,所以不要用这个名字创建一个局部变量。
 def spam():
global eggs # 使用global语句修改eggs为全局变量
eggs = 'spam'
eggs = 'global'
spam()
print(eggs)
spam

2-局部作用域和全局作用域

  • 在被调用函数内赋值的变元和变量,处于该函数的“局部作用域”。
  • 在所有函数之外赋值的变量,属于“全局作用域”。
  • 处于局部作用域的变量,被称为“局部变量”。
  • 处于全局作用域的变量,被称为“全局变量”。
  • 一个变量必是其中一种,不能既是局部的又是全局的。
3-有 4 条法则,来区分一个变量是处于局部作用域还是全局作用域:
  • 1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量
  • 2.如果在一个函数中,有针对该变量的 global 语句,它就是全局变量
  • 3.否则,如果该变量用于函数中的赋值语句,它就是局部变量
  • 4.但是,如果该变量没有用在赋值语句中,它就是全局变量
 def spam():
global eggs
eggs = 'spam' # this is the global def bacon():
eggs = 'bacon' # this is a local def ham():
print(eggs) # this is the global eggs = 42 # this is the global
spam()
print(eggs)

最新文章

  1. C#与C/C++的交互zz
  2. MFC覆盖OnPrepareDC实现“所见即所得”打印
  3. iOS模糊效果(毛玻璃效果)的实现
  4. easyUI下拉列表三级联动
  5. Mvc自定义路由让支持.html的格式
  6. 纯CSS实现Tooltip
  7. [转]LIBSVM-3.18在python环境下的使用
  8. Ubuntu 14.04 安装nVidia驱动后不能进入图形界面的恢复过程
  9. error: unknown field 'ioctl' specified in initializer
  10. hive 显示表分区真实对应数据路径
  11. io流读取文件
  12. k60引脚图
  13. Ubuntu 服务器设置软件多用户访问
  14. Codeforces 960D - Full Binary Tree Queries
  15. @ZooKeeper注册中心安装(单节点)
  16. poj_2182 线段树/树状数组
  17. iconv-go升级过程中的编译问题
  18. Linux中一些 不是很常用的配置修改
  19. php 7.3.3安装问题记录
  20. File zilla远程连接服务器报错:服务器发回了不可路由的地址,使用服务器地址代替

热门文章

  1. vue - blog开发学习6
  2. 57.Queue Reconstruction by Height(按身高重建对列)
  3. Linux下安装git本地库与服务器端远程库
  4. MMM实现Mysql高可用
  5. vue 如何读取编译携带的参数
  6. python中函数用法
  7. mysql-alter语句常用操作
  8. IronPython C#与Python相互调用
  9. Java实现按汉语拼音的排序
  10. POJ 1655 Balancing Act (树状dp入门)