如何从SimpleNamespace初始化字典?

Blc*_*knx 3 python python-3.x

有人问: 如何从字典初始化SimpleNamespace?

我的问题是相反的方向。如何从SimpleNamespace初始化字典?

小智 7

from types import SimpleNamespace

sn = SimpleNamespace(a=1, b=2, c=3)

vars(sn)
# returns {'a': 1, 'b': 2, 'c': 3}

sn.__dict__
# also returns {'a': 1, 'b': 2, 'c': 3}
Run Code Online (Sandbox Code Playgroud)

  • `dict(sn)` 失败真的很奇怪。请参阅示例和错误: `dict(args) Traceback (最近一次调用最后): File "/Users/brando/anaconda3/envs/automl-meta-learning/lib/python3.8/site-packages/IPython/core/interactiveshell .py”,第 3343 行,在 run_code exec(code_obj, self.user_global_ns, self.user_ns) 文件“<ipython-input-5-1bf3c62db268>”,第 1 行,在 <module> dict(args) 中 TypeError: 'types. SimpleNamespace' 对象不可迭代` (2认同)