小编典典

Python:将字典中的变量加载到名称空间中

python

我想在函数外部使用一堆在函数中定义的局部变量。因此,我传递x=locals()了返回值。

如何将该词典中定义的所有变量加载到函数外部的名称空间中,这样x['variable']我可以简单地使用而不是使用来访问值variable


阅读 185

收藏
2020-12-20

共1个答案

小编典典

考虑Bunch替代方案:

class Bunch(object):
  def __init__(self, adict):
    self.__dict__.update(adict)

因此,如果您有一本字典,d并且想要使用语法x.foo而不是clumsier来访问(读取)其值d['foo'],请执行

x = Bunch(d)

这个作品内外的功能-它的 巨大 清洁,较安全的注射dglobals()!记住Python Zen中的最后一行…:

>>> import this
The Zen of Python, by Tim Peters
   ...
Namespaces are one honking great idea -- let's do more of those!
2020-12-20