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()。ここでも例について話していますが、実際のコードでは、オブジェクト内のオブジェクトが役立つ場合があります。