我不明白为什么这段代码可以正常工作。也许我不明白Python中的函数和命名空间到底是什么?
示例1:
def f1(): a = 1 f2() def f2(): print(a) a = 0 f1()
上面的代码返回 0。
示例2:
def f1(): a = 1 def f2(): print(a) f2() a = 0 f1()
上面的代码返回 1。
有什么区别?
在示例 1 中,
f2
a
f1