Pythonの - オブジェクト指向上級2

静的呼び出し

「」「
例正方形、静的と呼ばれるクラスの非クラスのメンバーの存在を、所望であれば、この方法を用いることができる@staticmethod 

」「」
クラスジョーカー(オブジェクト):
    
    DEF  __init__ (セルフ、A、B、C、D):
        セルフII.Aは = 
        、self.bを = Bの
        self.c = Cの    
        self.d = D 
    @staticmethod DEF IS_VALID(A、B、C、D)
         のための I における[B、C、D]:
             IF I =!A:
                 返すFalseの
         返すDEF エリア(セルフ):
        
    
        
    もし解像度== 真:
            area_ = self.a * self.bの
             リターンarea_ 

#输出的一方法 ジョーカー
=ジョーカー(2,2,2,2 RES = joker.is_valid(2,2,2,2 であれば解像度== 真: プリント(joker.area())

方法#2の出力
DEFのAmin():
    ジョーカージョーカー=(2,2,2,2)
    RES = joker.is_valid(2,2,2,2)
    RES == trueの場合:
        印刷(joker.area())
アミン()

受け継ぎます

"" " 
继承

""" 
クラスA(オブジェクト):
     デフ __init__ (自己):
        self.a = 100 
        self.a1 = 200
     DEF sum_(自己):
        SUM_ = self.a + self.a1
         戻りSUM_の
    
クラス(Bを):
     DEF  __init__ (自己):
         #1 这个初期化是のB自身的に 
        A. __init__ (自己)
     DEF  印刷(自己):
        RES = self.sum_()
         プリント(RES)

B = B()
B。印刷()
"" " 
引数で継承

""" 
クラスA(オブジェクト):
     DEF  __init__ (セルフ、A1):
        self.a = 100 
        self.a1 = A1
     DEF sum_(自己):
        sum_ = self.a + self.a1
         リターンsum_ 
    
クラスB(A):
     DEF  __init__ (自己、A1、B1):
       、これは初期化B自体で 
        self.b1 = B1の
        A. __init__ (自己、A1)
     DEFの プリント(自己):
        RES = self.sum_()
         プリント(RES)
        
B = B(1000 ' 1 ' 
B。印刷()

デコレーター

"" " 
デコレータの使用

" "" 
DEF 番号(FUNC):
     DEF ワープ(A、B、C):
        NUM = A + Bの
         リターンFUNC(A、NUM、C)を
     返すワープを

@number 
DEF SUM(N1、N2 、N3)は:
     #1 ここでSUMは、上記FUNCと同等である
    、B、Cの上に実際に等価でN、N2、N3 
    実際には、最後の3つのパラメータは、動作戻りFUNC(NUM、cは)、NUM、Cのの
    印刷(N1、N2、N3)
     を印刷(N1 * N2)

SUM( 1,2,4)
デコレータ

DEF ジョーカー(FUNC):

    DEF ワープ(N1、N2、N3):

        NUM = N1 + N2の

        戻りFUNC(0、NUM、N3)

    リターンワープ



#のデコレータ最初の2桁を加算し、第三の機能自体パラメータおよび*を乗じた

@Joker 

DEF :SUM(NUM1、NUM2、NUM3)

    印刷(NUM1、NUM2、NUM3)

    印刷(NUM2 *のNUM3)



SUM( 10,2,3)

リスト

式のリスト

長所:高速な計算、メモリーにロードされたすべての時間を持っているように、データ量はケース10000から2000には大きすぎではありません

短所:メモリを取ります

リストビルダ

利点:メモリスペースを節約

短所:遅い計算し、発生による

#のリスト、式

A =(X  X における範囲(千億)IF X%2 == 0)
 のための I における範囲(100 ):
     印刷(次へ(A))
    
"" " 
式リスト

#リストの式

Aを= [範囲(100000000000でxに対するX場合)のx%2 == 0] 
の利点:高速計算、メモリにロードされたすべての時間を持っているように、データボリュームがケース10000-2000-に対して大きすぎない
短所:メモリ用

発電機#1 

、A =(範囲内のxのX (千億)のx%2 == 0の場合) 
利点:メモリ節約
欠点を:生成する遅い計算
"" " 

インポートOS 

パス = ' /ユーザ/ジョーカー/ジョーカー/データセット/スタンフォード・犬・データセット/注釈"
RES = os.listdir(パス)
 プリント(RES)
genter =(dir_ ため dir_ におけるRES)
 プリント(次(genter))

 

おすすめ

転載: www.cnblogs.com/liyuanyuan97/p/11323421.html