都说学一种语言,就要忘记另外一种语言,看来有道理,我总对比 js c++来搞py , 前期效果不错,但作用域时,就不是那么回事了,下面是课后的习题,看过一遍,我全部答对了,
global nonlocal的意义 , legb原则: Local ==> Enclosing ==> Global ==> Builtin
LEGB是什么缩写
x='spam'
def func():print(x)
func() #spam
x='spam'
def func():
x='ni'
print(x)
func()#ni
print(x)#spam
x='spam'
def func():
global x
x='ni'
print(x)
func()#ni
print(x)#ni
x='spam'
def func():
x='ni'
def nested():
print(x)
nested()
func()#ni
print(x)#spam
def func():
x='ni'
def nested():
nonlocal x
x='spam'
nested()
print(x)
func()#spam