Pythonで動的オブジェクト(別のオブジェクト内に)を作成し、それに属性を追加したい。
私は試した:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
しかし、これはうまくいきませんでした。
何か案は?
編集:
for
値のリストをループするループから属性を設定しています。たとえば、
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
上記の例では、私はなるだろうobj.a.attr1
、obj.a.attr2
、obj.a.attr3
。
私が使用しsetattr
、私が行う方法を知らなかったので、機能をobj.a.NAME
からfor
のループ。
p
上記の例のの値に基づいて属性をどのように設定しますか?
a = object()
で作業をせず、あなたが必要とする理由がわかりませんobj.a = object()
。ここでも例について話していますが、実際のコードでは、オブジェクト内のオブジェクトが役立つ場合があります。