作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变。
name = 'ring-A'
def foo():
name = 'ring-B'
def bar():
name = 'ring-C'
def tt():
print(name)
return tt
return bar
func = foo()
print(func)
f = func()
print(f)
f()
# func()()
#foo()()()
在这里, f() 执行与 func()() , foo()()() 执行效果一样。