我需要实例化一个快译通的一些关键作为一个独立的全局变量。全局变量的字符串?
(之前你反对让我提到这纯粹是出于测试目的,我知道它污染了全球范围内,它不打算作为编程技术。)
确定。现在,这一点。如果我使用如下所示的简单功能,它就可以工作。
def items_as_vars(obj, lst) :
for i in lst :
globals()[i] = obj.g(i)
print i, obj.g(i)
items_as_vars(OBJ,[ '圆', '正方形'])
打印圆
但我移动此成为类方法在一个单独的文件中的时刻它停止工作,即
class blah:
@staticmethod
def items_as_vars(obj, lst) :
for i in lst :
globals()[i] = obj.g(i)
print i, obj.g(i)
blah.items_as_vars(OBJ,[ '圈子', '方'])
打印圈
NameError: name 'circle' is not defined
任何想法,为什么?通过“停止工作”,我的意思是全局变量不再被实例化。
更多信息:它似乎工作时,类是在同一个文件,但不是当导入类时!
修改为静态方法,它是一样的行为。
停止工作?怎么样?请[mcve]。这两个是相同的。 –
工作正常,我......你会需要提供一个更完整的例子。 –