Python3 函数作用域
1 # if True: 2 # x = 3 3 # 4 # print(x) 5 # 6 # def test(): 7 # a = 10 8 # print(a) # a未定义 9 10 ''' 11 Python中的作用域分为四种情况: 12 1.L:local,局部作用域,在函数中定义的变量 13 2.E:enclosing,嵌套的父级函数的局部作用域,包含此函数的上级函数的局部作用域,但不是全局的 14 3.G:global,全局变量,模块级别定义的变量 15 4.B:built-in,系统固定模块里面的变量,如int,bytearray等。 16 17 搜寻变量优先级:L>E>G>B 18 ''' 19 # 顺序例子 20 # x = int(5.8) # built-in 21 # a = 1 # global 22 # def test1(): 23 # b = 2 # enclosing 24 # 25 # def test2(): 26 # c = 3 #local 27 # print(c) 28 # print(b) 29 # # print(c) # 未定义 30 # test2() 31 # test1() 32 33 # count = 10 34 # def outer(): 35 # print(count) 36 # # count +=1 # 不能修改全局变量,除非创建变量 37 # outer()