Wordを説明_ Pythonのトーク05

1.でisinstanceの和タイプ:

  そして==記号は、同じIDかどうかを知ることは、オブジェクトではなく、メモリアドレスを参照し、あります

  統合されたチェーン

クラスA:
    パス

クラスB(A):
    パス

B = B()
プリント(でisinstance(B、B))
プリント(でisinstance(B、A))

プリント(タイプ(b)は、あるB)
プリント(ID(タイプ(B))、ID(B))2943616512536  2943616512536

 

2.クラス変数やオブジェクト変数:

  自己==クラスの例は、実際には、自己の理由の理由クラスである、等しい渡し、= A()と等価です。

クラスA:
    AA = 1
    デフ__init __(自己、x、y)は:
        self.x = X
        self.y = 

= A(23 
A.aa = 11 
a.aa = 100
印刷(斧、AY、a.aa)2  3  1
印刷(A.aa)
#印刷(アックス、あぁ)#例外
2  3  100 11

  注意:シーケンシャル検索は、ボトムアップ見つけることです

  注意:クラス変数は唯一のクラスを介して変更することができ、変更は例を挙げて行けば、それだけで一緒に新しい変数を開きますが、実際には、クラス変数は変更しましたが、変数になりそうすることはできません。変数クラスは、すべてのメンバーによって共有されています。

 

3.クラスとインスタンスプロパティの順序を探します:

  方法としては、又は内部で定義します。

  ポイントは、この継承は、親クラスの深さを見ているinit__、我々はC3を使用して、MROアルゴリズムを使用しPY3 .__クラス名の前に、実際には、深さと幅を探すスーパー()検索すると、C3ルックアップ法の一種です。

クラスA:
    名前は = " A "
    デフ__init __(自己):
        self.name = " OBJ "
= A()
印刷(a.name)
#プリントOBJ変数名が戻って行くことができません

  

クラスD:
    パス

クラスC(D):
    パス

クラスB(D):
    パス

クラスA(B、C)。
    パス

印刷(.__ mro__)
#( < クラス ' __main __。A ' >、< クラス ' __main __。B ' >、< クラス ' __main __。C ' >、< クラス ' __main __。D ' >、< クラス ' オブジェクト' >)

  覚えておいてください:あなたは__MRO__と継承チェーンの関係を表示することができます。

  覚えておいてください:PY2、書き込みオブジェクトは、オブジェクトを継承する書き込みませんPY3をオブジェクトを持っている必要があり、それは新しいクラスがあります。

 

4.静的メソッド、クラスメソッド、オブジェクトメソッド(方法例)

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

おすすめ

転載: www.cnblogs.com/noah0532/p/10987522.html