0
我有一个文件,f.py
:如何在函数中定义全局变量?
def func():
if 'x' not in globals():
setattr(f, 'x', 0)
global x
x += 10
print x
,我在一个交互式会话:
>>> import f
>>> f.func()
Traceback (most recent call last):
[...]
NameError: global name 'x' is not defined
我应该如何修改func
定义x
如果不是已经确定?
这不是工作'NameError:全局名称 'X' 是没有定义 ' – krzyhub 2012-07-08 18:31:06
@Cris:它的工作对我来说完全没有问题:http://codepad.org/U4UkFRt9。 (我意识到这不是完全相同的情况,但是本地测试验证了这样的结果。)您能否准确地提供您正在测试的代码,以及您的Python版本? – 2012-07-08 18:34:08
好的,现在好了。谢谢。 – krzyhub 2012-07-08 18:37:20