python变量的作用域

python中变量作用域有4种情况

L:local,局部作用域,即函数中定义的变量

E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局

G:globa,全局变量,就是模块级别定义的变量

B:built-in 系统固定模块里面的变量,如int,bytearray等

 

搜素变量的优先级顺序依次为:LEGB

 

例如:

x=int(3.4) #int built-in

y=2 #globe

def out()

  Z=4

  print(y)#enclosing

  print(Z)

  def out2()

    y=3 #local

    print (y)

  out2()

  print(x)

out()

执行结果:

 提示:此处的函数写完后,直接点击两下回车。

 

全局变量不可直接修改:

 

全局变量修改方法:在引用时添加global

 修改enclosing变量值 (在引用变量前添加nonlocal)

posted @ 2020-10-09 12:01  有风有雨  阅读(372)  评论(0)    收藏  举报