我有这样的代码:
def f():
i = 5
g(locals())
print 'in f:', i, j
def g(env):
env['j'] = env['i'] + 1
print 'in g:', env['i'], env['j']
f()
我得到:
in g: 5 6
in f: 5---------------------------------------------------------------------------
NameError Traceback (most recent call last)
NameError: global name 'j' is not defined
似乎g不能改变f中locals()所得到的局部变量。还有其他函数中的局部变量可以改变吗?你知道吗
根据docs关于
locals
:另一种解决方案是只返回
j
。你知道吗相关问题 更多 >
编程相关推荐