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)
Run Code Online (Sandbox Code Playgroud)
这似乎很明显,但它不起作用,第一个打印输出{'x': 12},这是正确的,然而,我得到这个错误:NameError: global name 'x' is not defined
为什么会这样?谢谢.