簡體   English   中英

加入/合並兩個 Python SimpleNamespace

[英]Join / merge two Python SimpleNamespace

簡單的問題:如何合並 Python 的 SimpleNamespace?

看起來沒有辦法在像a.update(b)a | b這樣的簡單命令中做到這一點。 a | b 事實上,我什至還沒有找到一種方法來系統地訪問 SimpleNamespace 的所有屬性。

任何線索?

每個SimpleNamespace都有一個__dict__插槽,可以訪問其實際屬性。 __dict__從多個SimpleNamespaceSimpleNamespace到一個新的SimpleNamespace有效地合並它們。

>>> from types import SimpleNamespace
>>> first = SimpleNamespace(a=0, b=1, c=2)
>>> second = SimpleNamespace(x=0, y=1, z=2)
>>> SimpleNamespace(**first.__dict__, **second.__dict__)
namespace(a=0, b=1, c=2, x=0, y=1, z=2)

請注意,這是一個TypeError合並命名空間重疊的屬性用這種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM