2019年9月29日カスタムプロパティ

方法の基礎となるディスクリプタであって、最もpyhonクラス特性を実現することができる:クラスメソッド、staticmethd、プロパティ、__slots__

記述子は、クラスの属性クラスを定義するように修正されます
クラスLazyproperty:
     DEF  __init__ (セルフ、FUNC):
         プリント' >>>>> ' 、FUNC)
        self.func = FUNC
     DEFの __get__(セルフ、例えば、所有者): 自己Lazyproperty()で生成されたオブジェクト
        を印刷' 方法を得る' 戻り self.func(インスタンス)#の配信自体の例を意味するインスタンスは、所有者クラスのインスタンスが生成され




たクラスルーム:
     #1 記述子は、クラスを定義するように修正された
    #1 = Lazyproperty(エリア)#記述子エリア操作が、次の@lazypropertyは同じことやっている
    DEF  __init__を(セルフは、名前、幅、長さ):
        self.name = 名前
        self.width = 
        self.length = 長さ

    静的プロパティ@ @Property#が、実際にプロパティに相当インスタンス化を行うエリア=プロパティ(エリア)で実行されています。関数であってもよい、または、ベースの装飾効果を達成することができる、クラス記述子のプロパティ=エリア(エリア)に増加を達成することができる
    @Lazyproperty
     DEF エリア(自己):
         戻り self.width * self.length 




R1 =ルーム(" CS "、2,4 印刷(r1.area) 呼び出しがLazyproperty(面積)に割り当てられた領域を返し、非トリガデータ記述子
#の印刷(r1.area.func(R1))#純粋にマニュアルトリガラン

"" "" "" "" ""

方法を取得
8

おすすめ

転載: www.cnblogs.com/python1988/p/11609981.html