-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]

연결된 질문


관련된 질문

최근 질문