(A)는, 상기 속성 세트하세요 방법 치환
다음과 같이 기존의 GET 및 설정 방법은 다음과 같습니다
클래스 OldResistor () : 데프 __init__ (자기, 옴) : 자기. __ohms = 옴 데프 get_ohms (자기) : 반환 자기. __ohms는 데프 : set_ohms (자기, 옴) 자체. __ohms = 옴 경우 __name__ == ' __main__ ' : R0 = OldResistor (50e3 ) 인쇄 (r0.get_ohms ()) r0.set_ohms ( 10e3 ) 인쇄 (r0.get_ohms ())
@property 데코레이터 게터와 setter 메소드 일
클래스 저항기 () : DEF __init__ (자기 옴) self.ohms = 옴 self.voltage = 0 self.current = 0 클래스 VolResistor (저항기) DEF __init__ (자기 옴) . 슈퍼 () __init__ (옴) #는 상위 클래스 변수를 상속 셀프. __vol = 100 개 # 시작 __ 변수 내부 변수 밖에 참조 할 수 없기 때문에 @Property의 # 게터 세트 전압 특성 DEF의 전압 (자기) 리턴 . 셀프 __vol voltage.setter @ DEF 전압 (자기 전압) . 자기 __vol = 전압 self.current = 셀프. __vol / self.ohms IF __name__ == ' __main__ ' : R1 = 저항기 (50e3 ) r1.ohms = 10e3 # Public 속성 = + 5E3 r1.ohms 인쇄 (r1.ohms) R2 = VolResistor (10 ) 전단 (r2.voltage) #의 게터 속성, 전압 설정 메소드를 수행하지 않는 속성이 현재 업데이트되지 인쇄 (r2.current)를 이 r2.voltage = 100 # 때 전압 특성 할당 전압 세터 방법을 수행되며, 현재 업데이트 속성 인쇄 (r2.current)
둘째, 대신 @property 속성을 재구성 고려
패스
@property를 복용 셋째, 기술자가 다시 작성해야하는 방법
__get__ __set__
네, __ getattr __, __의 getAttribute __, __ 않은 setattr __- 수요 창출 속성
패스
다섯, 元类
__새로운__
패스