Python基础知识笔记-作用域

  Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。

变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。Python的作用域一共有4种,分别是:

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

以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。如果想改变搜索范围 可以使用global 和nonlocal 关键字。

  

# global variable


# 在函数外面定义的a  全局变量

a=100
def foo():
   # 函数内部的局部变量 离开foo函数变量a 无法访问
   # local variable
   global a
   a=200
   print(a)
foo()
print(a)
结果:
a=200
a=200

  

posted @ 2018-03-11 21:24  圆柱模板  阅读(139)  评论(0编辑  收藏  举报