class Foo(object):
def __init__(self, x):
self.bar(x=x)
def bar(self, **kwargs):
print kwargs
locals().update(kwargs)
print x
f = Foo(12)
这似乎很明显,但它不起作用,第一个打印输出{'x': 12}
,这是正确的,然而,我得到此错误:NameError: global name 'x' is not defined
为什么会这样?感谢。