나는 파이썬 커맨드 라인 아래에 다음과 같은 코드가있다. 속성을 방문하면 getattribute이 자동으로 호출됩니다. 하지만인스턴스 방문시 python __getattribute__이 (가) 호출되지 않습니다?
class D:
def __getattribute__(s,*a,**ka):
print "__getattribute__"
return object.__getattribute__(s,*a,**ka)
def __getattr__(s,name):
print "__getattr__"
return name
def __get__(s,instance,owner):
print "__get__"
return s
a='abc'
class C2(object):
d=D()
>>> d=D()
>>> c2=C2()
>>> print d.a
abc
>>> print d.zzz
__getattr__
없음 "getAttribute를는"인쇄 결과를 볼 수 없습니다. 왜? 새로운 스타일의 클래스 D (객체)에
[차이점 사이의 차이점] 가능한 복제본 [getattr \ _ \ _ vs \ _ \ _ getattribute \ _ \ _] (http://stackoverflow.com/questions/3278077/difference-between-getattr-vs-getattribute) –