-2

この質問にはすでに答えがあります。

例えば、擬似コードでは:

class Example:

    def __init__(self, dict):
        for key, value in dict.items():
            self.key = value

a = Example({"objectVariable": ["some", "data"]})
print(a.objectVariable)
>>>["some", "data"]

これをどのように実装しますか?

前もって感謝します


  • 質問は何ですか? - Chiheb Nexus
  • setattr(self, key, value)。 - ekhumoro
  • あなたの質問には質問はありません。 - Jörg W Mittag
  • 私の謝罪は、私が達成しようとしている機能は例で最もよく表現されるだろうと思った。探しているものを明確にするために質問を編集しました - Primusa

2 답변


1

割り当てますdict内蔵へ__dict__より単純化するために:

class Example:
   def __init__(self, dict):
     self.__dict__ = dict


  • self.__dict__.update(dict)それがより一般的に適用可能であるので好まれるべきです。また、渡されたの後の変更dictインスタンス属性には反映されません。 - schwobaseggl
  • 組み込み名を隠さないための注意dictまたいいでしょう。 - schwobaseggl

1

あなたが探しています__getattr__スロットが存在しない場合に呼び出されます。

class Example:
    def __init__(self, dict):
        self.dict = dict
    def __getattr__(self, prop):
        return self.dict[prop]

リンクされた質問


関連する質問

最近の質問