방법 특별한 클래스 파이썬

# 또한 매직 메소드로 알려진 특수 방법, 
# 특별한 방법은 __ 시작과 끝 사용 
# 우리가 일반적으로 수동으로 자동으로 특별한 경우에 실행되는 호출 할 필요는 없습니다 특별한 방법을 

#는 Person 클래스의 정의 
클래스 사람 (개체) :
     "" " 인간 " "" 
    DEF  __init__ (자체는, 이름, 나이) : 
        self.name = 이름 
        self.age = 나이 

    #의 이 특별한 방법은 객체를 문자열로 변환하려고 시도합니다 __str의 __ ()를 호출 할 때 
    #을 역할 지정된 개체 (인쇄 기능) 문자열의 결과 변환 할 수 있습니다   
    DEF의  __str__ : (자기)
         반환  ' 인격 [이름 = %의 S, % = 나이 D] ' % 합니다 (self.name, self.age)        

    #을__repr __ ()는에 repr () 함수를 사용하여 현재 개체 때 특정 메서드가 호출됩니다 
    # 의 역할이 지정된 개체 '대화 형 모드'로부터 직접 출력에 영향을     
    DEF의  __repr__ (자기) :
         리턴  ' 헬로 '  
 
    '' ' 객체를 __DIR__ 방법은 프로세스 것이다 이름 (메소드를 포함한) 오브젝트 내의 모든 속성 목록 
    복귀 (방법) 속성 이름의 모든 염기 서열을 포함하는 방법. 프로그램의 디렉토리 오브젝트 (객체) 기능을 실행하면, 
    실제로는 오브젝트의 __dir __ () 메소드 값이 정렬하고리스트로 포장되어 반환된다. '' ' 
    # __Dir __ ()          
    

    ' '' 내부 조성물의 이름과 값 직접 통상적 프로그램 속성 저장된 모든 뷰 객체의 __dict__ 사전 속성을 
    특성을. __dict__ 재산권 모든 오브젝트의 내부 상태 모두를 사용하는 참조 또는 액세스 사전 구문에 의해 수정 될 수있는 
    특정 속성의 값. '' ' 
    # __Dict __ () : 

    # 객체 .__ 추가 __ (셀프, 기타) 
    #의 객체 .__ 하위 __ (셀프, 기타) 
    #개체 .__ MUL __ (자기 기타) 
    #의 객체 .__ matmul __ (자기 기타) 
    #의 객체 .__ truediv __ (자기 기타) 
    #의 객체 .__ floordiv __ (자기 기타) 
    #의 객체 .__ 개조 __ (자기 기타) 
    #의 객체 .__ divmod의 __을 (각자 기타) 
    #의 객체 .__ POW __ (자기 기타 [모듈]) 
    #의 객체 .__ lshift의 __ (자기 기타) 
    #의 객체 .__ RSHIFT __ (자기 기타) 
    #의 객체 .__ 및 __ (자기 기타) 
    #의 객체 .__ XOR __ (자아 다른) 
    #의 객체 .__ 또는 __ (자기 기타) 

    #의 객체 .__ LT __ (자기小于) 다른 < 
    #의 객체 .__ 르 __ (자기 기타)小于等于<= 
    #의 객체 .__ 당량 __ (자기 기타)等于==
    #의 개체 .__ NE의 __ (셀프, 기타)! = 같지 않은 
    #의 개체 .__된다 __ (자기, OTHER)보다> 
    # 개 이상의 => 동일한 개체 .__ GE __ (자기, OTHER) 
    
    # ) (__ __len 객체의 길이를 가져 

    #는 (.__ BOOL __ 개체 셀프) 
    #이 상황 부울 값으로 불리언 객체에 의해 특정 될 수 
    DEF의  __bool__ (자기)
         반환 17> self.age # 객체에서 호출 한 시간보다 상대적으로 크게 할 것 __gt__는이 메소드의 리턴 값을 비교 사용될 결과 #은 그가 다른 개체를 대표하고 현재 개체 비교,이 객체가 나타내는 자기를 2 개 개의 인수를 취하는 #의 자기> 기타 DEF의 __gt__ : (자기, 기타)
         반환 self.age을> other.age #는 Person 클래스의 두 인스턴스를 생성         
인격 P1 = ( ' 원숭이

    
    
    
     


' 16 ) 
P2 = 인격 ( ' 돼지 ' , 28 ) 

#에 인쇄 P1의 
# 우리가 실제로 인쇄 개체 __str 특별한 객체 방법 인쇄 __ () 반환 값 
#의 전단 (P1) # <__ main__ 0x04E95090 .Person AT 개체> 
인쇄 (P1)
 출력 (P2) 

이 전단 (에 repr (P1)) 

#의 T = 1,2,3 
# 인쇄 (T) # (. 1,2 ,. 3) 

전단 (P1> P2)
 전단 ( P2> P1) 

인쇄 (BOOL (P1)) 

# P1 경우 : 
#의      인쇄 (p1.name는 '어른이') 
# 다른 사람 : 
#     인쇄 (p1.name, '뿐만 아니라 사소한') 

인쇄 (P1. __DIR__ ())
 #의 인쇄 (디렉터리 (P1)) 
#의 인쇄 (P1 .__ dict__ 마법) 
# P1 .__ DICT __ [ "이름"] = "WZY" 
# 출력 (P1 .__ 딕셔너리 __ [ " 이름"])

 

추천

출처www.cnblogs.com/jzxs/p/11413963.html