我是编程新手。首先,以下是我的代码:
x = 11
def f():
x = 22
print(x)
class C:
print(x)
f()
我得到了三个打印结果," 22 22"作为输出。当我改变我的代码时:
x = 11
def f():
x = 22
print(x)
class C:
print(x)
x = 33
print(x)
f()
我得到了" 22 11 33"而不是我期待的:" 22 22 33"。
似乎当我在嵌套类中添加本地x
时,变量搜索的顺序会发生变化。我相信还有一些关于范围的技巧,我还不知道。任何人都可以向我解释这个吗?