メソッドの特別なクラスのPython

また、魔法の方法として知られている特別な方法、特別な方法が使用__始まりとの終わり私たちは、一般的に手動で自動的にいくつかの特別な場合に実行されるように呼び出す必要はありません特別な方法

#は、Personクラスの定義
クラスの人(オブジェクト):
     「」「人間」「」
    DEF  __init__ (セルフは、名前、年齢):
        self.name = 名前
        self.age = 年齢

    #のこの特定の方法は、オブジェクトを文字列に変換しようとし__strの__()を呼び出したときに
    #をその役割また、指定されたオブジェクト(プリント機能)の結果を変換するために使用できる文字列   
    DEF  __str__ (セルフ):
         リターン ' 人[名=%S、%=年齢D] '(self.name、self.age)       

    __repr __()はrepr()関数使用して、現在のオブジェクトと、この特定のメソッドが呼び出されます
    その役割があるが、指定されたオブジェクトのインタラクティブモード」から直接出力もたらすために     
    DEFの __repr__ (セルフ):
         リターン こんにちは 
 
    「」 ' オブジェクトを__ DIR__方法は、プロセスがあろう、名前(メソッドを含む)オブジェクト内のすべてのプロパティを一覧表示
    戻る(メソッド)属性名の全ての配列を含みます。プログラムは、オブジェクトのDIR(オブジェクト)関数を実行すると、
    実際には、それは、オブジェクト__dir __()メソッドは、値をソートし、リストにパッケージさ戻ります。「」「
    __Dir __():          
    

    」「」その中に組成物の名前と値、直接一般的にプログラムの属性格納されているすべてのビューオブジェクトの__dict__辞書属性を
    属性。辞書構文によってアクセスまたは変更することができ、__dict__プロパティは、すべてのオブジェクトの内部状態の両方を使用して参照し
    、指定されたプロパティの値。'' ' 
    __Dict __(): 

    オブジェクト.__追加__(自己、他)
    #のオブジェクト.__サブ__(自己、他)
    オブジェクト.__ MULは、__(自己、他)
    #のオブジェクト.__ MATMUL __(自己、他)
    #のオブジェクト.__ truediv __(自己、他)
    #のオブジェクト.__ floordiv __(自己、他)
    #のオブジェクト.__ MOD __(自己、他)
    #のオブジェクト.__ divmodの__(自己他)
    #のオブジェクト.__ POW __(自己、他の【、モジュロ])
    #1 オブジェクト.__ LSHIFT __(自己、他)
    #のオブジェクト.__ RSHIFT __(自己、他)
    #のオブジェクト.__と__(自己、他)
    #のオブジェクト.__のXOR __(自己、他)
    #のオブジェクト.__または__(自己、他)

    #のオブジェクト.__ LT __(自己小于)、他の< 
    #のオブジェクト.__ル__(自己、他)小于等于<= 
    #1 オブジェクト.__ EQ __(自己、他)等于==
    #のオブジェクト.__ NEの__(自己、他方が)=!等しくない
    #1 オブジェクト.__ GT __(自己、OTHER)より大きい> 
    #1 よりも大きいかまたは=>等しいオブジェクト.__ GE __(自己、OTHER) #
    
    )(__ __lenオブジェクトの長さを取得

    (.__ BOOL __オブジェクトセルフ)
    #は状況ブール値にブールオブジェクトによって指定することができる
    DEFの __bool__ (自己):
         戻り 17> self.age オブジェクトで呼び出すための時間よりも相対的に大きい行います__gt__は、このメソッドの戻り値を比較として使用されます結果彼は二つの引数、このオブジェクトによって表される自己を取り、他のオブジェクトが表現すると、現在のオブジェクトの比較#の自己>その他DEFの__gt__ (分身):
         リターン self.ageを> other.age #は、Personクラスの2つのインスタンスを作成します         
人= P1(モンキー

    
    
    
     


'16 
P2 =人(' '、28 

#1 印刷P1の我々はオブジェクトが実際に印刷される印刷特殊なオブジェクトメソッド__strある__()戻り値
#1 印刷(P1)#<__ MAIN__オブジェクト0x04E95090 .Person AT> 
印刷(P1)
 プリント(P2)

プリント(のrepr(P1)) 

T = 1,2,3 プリント(T)#(。1、2、。3)

印刷(P1> P2)
 印刷( P2> P1)

印刷(BOOL(P1)) 

P1 IF:      印刷(p1.nameは、 '育ってきた') 他に:     印刷(p1.name、 'だけでなく、マイナー')

印刷(P1。__ DIR__ ())
印刷(DIR(P1)) 印刷(P1 .__ dict__にマジック)P1 .__ dictの__ [ "名前"] = "WZY" 印刷(P1 .__ dictの__ [ "名前"])

 

おすすめ

転載: www.cnblogs.com/jzxs/p/11413963.html