まず、静的メソッドとクラスメソッド
1.静的コール:@staticmethod
クラスA(オブジェクト): @staticmethod :()DEF プリント( 'A') AA()
あなたはクラスの非クラスのメンバーの存在が必要な場合は、静的メソッド呼び出しを使用することができます
2.例
面積を計算@staticmethodと、:ある場合、入力は、正方形の4辺であるか否かを判断します
クラスZFX(オブジェクト): デフ__init __(自己、A、B、C、D): self.a = A self.b = B self.c = C self.d = D @staticmethod DEF IS_VALID(A、B、C 、D): [B、C、D] iの中のために: 場合I =:! Falseを返す 他: Trueを返し DEFエリア(自己): RES場合==真: area_ = self.a * self.bの リターンarea_ FX = ZFX(5,5,5,5) RES = fx.is_valid(5,5,5,5) fx.area() 解像度の場合==真: プリント(fx.area())
3.クラスのメソッド
(1)初期値:
DEF(BL = 'こんにちは'): プリント(BL) A()
出力は次のとおりです。こんにちは
(2)cocaltime
#ライブラリを呼び出すのlocaltime: インポート時間時間から、localtimeの、SLEEPの 印刷(時間())
タイムスタンプ、1970年1月1日から開始する秒00.00.00数は現在、経験しました
(3)@classmethod
@classmethod:クラス自体(CLS)は属性を取得し、変更することができます。
クラスメソッドの修飾子は、対応する機能なし自己パラメータをインスタンス化する必要はありませんが、最初のパラメータは、それ自体がクラスを呼び出すことができるCLSに必要なパラメータであり、属性クラス、クラスメソッド、およびその他のオブジェクトインスタンス化
クラス4クラスとの関係(継承)
(1)最初のステップは、クラス継承クラスの名前を書くことです
.__のinit __(自己):(2)クラス名(クラス名)__のinit __(自己)提案しました
(3)例:サブクラスで、親と二つの数値計算sum_を作成するために、親クラスを作成し、このサブクラスのsum_を印刷
クラスFU(オブジェクト): デフ__init __(自己): self.a = 10 self.b = 20 DEF sum_(自己): 和= self.a + self.b 戻り和 クラスZI(FU): デフ__init __(自己) : FU .__のinit __(自己) デフPRINT(自己): RES = self.sum_() プリント(RES) B = ZI() b.PRINT()
出力:30
リストとリストの生産単位式
#リストの式 A = [X Xの範囲(100)] プリント(A) #リストジェネレータ A =(範囲でXのX(100)) 印刷(A)
長所と短所ビルダリストビルダのタイプをリストします。
(1)式:
長所:高速な計算、メモリーにロードされたすべての時間を持っているように、データ量が10000-2000-場合のために大きすぎない
デメリット:メモリについて
(2)発電機:
利点:メモリの節約
欠点を:生成するように遅い計算
第二に、デコレータ
1.デコレータの使用法
徒歩デコレータ機能を行きます
実施例2デコレータ:三つの機能、二つのパラメータ、デコレータ及びこれらの2つのパラメータの処理、これらの2つのパラメータの印刷機能のそれぞれを作成します
ジョーカー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)