가정하자 나는 다음을 수행하기 위해 내가 할 수 싶습니다 두 파이썬 클래스 A와 B가 있습니다 '는이'의 인스턴스동적 라 __setattr__ 파이썬 인스턴스 클래스 인스턴스를 추가
>>> b = B()
>>> b.a.attr1 = 'foo'
>>> b.a.attr2 = 'bar'
을 A. 'a'가 일부 '원시'유형 인 경우 __setattr__
을 사용할 수 없습니다. 이를 달성 할 수있는 우아한 방법이 있습니까?
>>> b = B()
>>> b.a = A()
>>> b.a.attr1 = 'foo'
>>> b.a.attr2 = 'bar'
? __getattr__
hook 동적 a
을 만드는 데 사용하는, B
의 __init__
에 a
을 만들거나 property을 사용 중 하나에
'self.a = A()'를'B .__ init__' 메소드에 넣지 않는 이유는 무엇입니까? – Maxim
나는 언급 했어야했다 ... 내가 무조건적으로'__init__ '(잠재적으로) 인스턴스화하는 많은 클래스가 사용되지 않기 때문에 나는 그것을 할 수 없다. 또한, A()의 일부 코드는'__init__' 시간에 반드시 준비가되지 않을 수도 있습니다. 감사. –