클래스 속성 제어

개체 속성을 설정하면
__ (자기, 이름, 값) __setattr :
DEF는 __을 (자기, 이름, 값) __setattr :
자기 .__ DICT의 __ [이름] = 값
1 개
2
쿼리 개체 속성
__ (자기 이름) __getattr :이 속성을 액세스 할 때 부재에서 찾기 라고 해당 인스턴스 속성
__getattribute의 __ (자기 이름) : 당신이 속성에 액세스 할 때마다, 무한 재귀 사건을 일으킬 가능성이 사용할 때주의해야 호출
자세한 getattr과의 getAttribute
개체 속성 삭제
: __delattr __ (자기 이름)
의 예
클래스 프로그램 (객체) :

데프 __init __ (자기, 이름, 나이) :
self.name = 이름
self.age = 세

__ __getattribute DEF (자기 이름) :
# 반환 getattr (자기 이름)는 무한 재귀 번호 원인
# 자기를 반환 .__ DICT __ [이름 ] #의 원인 무한 재귀
반환 슈퍼 (프로그램, 자기) .__ 의 getAttribute __ (이름)

DEF __setattr __ (자기 이름, 값) :
자기 .__ 딕셔너리 __ [이름] = 값

DEF __setattr __ (자기, 연령, 값) :
자기 .__ 딕셔너리 __ [나이 = 값

데프 __getattr __ (자기 나이) :
리턴 슈퍼 (프로그램, 슈퍼) .__ getattr __ (나이)


만약 __name__ == '__main__'
p = 프로그램 ( '마이크', 22)
인쇄 (p.name)
인쇄
(p.age) ----------------

추천

출처www.cnblogs.com/liyanyan665/p/11408546.html