我想在函数外部使用一堆在函数中定义的局部变量。因此,我传递x=locals()了返回值。
x=locals()
如何将该词典中定义的所有变量加载到函数外部的名称空间中,这样x['variable']我可以简单地使用而不是使用来访问值variable。
x['variable']
variable
考虑Bunch替代方案:
Bunch
class Bunch(object): def __init__(self, adict): self.__dict__.update(adict)
因此,如果您有一本字典,d并且想要使用语法x.foo而不是clumsier来访问(读取)其值d['foo'],请执行
d
x.foo
d['foo']
x = Bunch(d)
这个作品内外的功能-它的 巨大 清洁,较安全的注射d进globals()!记住Python Zen中的最后一行…:
globals()
>>> import this The Zen of Python, by Tim Peters ... Namespaces are one honking great idea -- let's do more of those!