下面的代码:访问从变量中一个双重嵌套函数在Python
x = 0
print "Initialization: ", x
def f1():
x = 1
print "In f1 before f2:", x
def f2():
global x
x = 2
print "In f2: ", x
f2()
print "In f1 after f2: ", x
f1()
print "Final: ", x
打印:
Initialization: 0
In f1 before f2: 1
In f2: 2
In f1 after f2: 1
Final: 2
是否有f2
一种方法来访问f1
的变量?
这是一件可怕的事情。你为什么要这样做?为什么不只是让'f1'成为一个可调用的对象并正确共享实例变量? – 2010-02-18 18:48:57
我同意,这是非常可怕的,但我想知道是否有可能。我希望没有人会在野外放置这样的东西。 – kzh 2010-02-19 14:26:43