개요 : - o
에 설정된 속성에 대한 동일 o.inner
에 설정해야 이제중첩 된 개체와 않은 setattr 및 getattr (예, 그건 시간)
class Inner(object):
def __init__(self, x):
self.x = x
class Outer(object):
def __init__(self, z):
self.inner = Inner(z)
o = Outer(10)
, 나는 외부 물체가 투명하게 행동 할 읽기 : o.something
은 사실 o.inner.sommething
의 값을 반환해야합니다. 프록시 나 릴레이 같은 것.
def __getattr__(self, item):
return getattr(self, item)
가 어떻게
__setattr__
을 처리 할 것입니다 :
Outer
에 대한
__getattr__
은 간단 & 작품을 보인다? 나는 재귀 오류를 일으키지 않고 스스로 나를 싫어하게 만드는 것을 만들 수 없었다.
개념 자체에 결함이 있습니까? 이 정말 IDE가 그 내부에서 길을 잃을 것이라고 말할 것도없고, 미학적 본 @classmethods
재생되지 않았다 - -
Outer
Inner
의 서브 클래스 만들고 있었다. 몇 가지 특성을 해결할 수없는을의가 있음을 떠나 보자 지금은 아마도?)
'self.inner = Inner (z)'를 의미 했습니까? 또한 getattr 메서드가 Inner()에서 데이터를 반환합니까? 그것이 쓰여지는 방식으로, 그것은 단지 Outer를 참조하는 것처럼 보입니다. – gfortune
예 - 반환합니다. 둘 다 고쳤어, 고마워! – ntl0ve