python作用域:
在python中作用域有四种,简称LEGB(优先级L>E>G>B):
L(Local):局部作用域
E(Enclosing):闭包函数外的函数中
G(Global):全局作用域
B(Build-in):内建作用域
a = 10 #全局作用域
def test():
b = 20 #闭包函数外的函数中
def inner():
c = 30 # 局部作用域
return c
return inner
#注意,def/lambda以及生成器都会产生作用域,作用域一下使用该变量有效,class只是产生了新的命名空间,并没有产生新的作用域.
#作用域(scope)以及命名空间(namespace)
#作用域是有特定的命名空间按照一定的的层级结构组合起来的.scope一定是namespace但是name不一定时scope.
#后续补充