Pythonのオブジェクト指向_2

自己理解

自己の人気の理解は、自己が何であるか、インスタンス化されたものを、オブジェクトのインスタンスであります

変数の例:変数をインスタンス化を介して使用することができます

クラスパーソン():
     DEF  __init__(セルフ、ID、名前): コンストラクタ 
        self.idのID = のインスタンス変数 
        self.name名= インスタンス変数

    DEF クック(セルフ):
         印刷' %Sの調理で'self.name)

    DEFの家事(セルフ):
         印刷' %S家事'self.name)

XH。=人(1、' '#は__init(自己、ID、名前)と等価である自己の事実XH 
xh.cook()
xh.housework()
XB人=(2、' ' 
xb.cook()

クラス変数:クラスで定義された変数、オブジェクト・クラスのインスタンス変数への優先アクセス、コンストラクタのすなわち変数、取得したクラス変数を取得しない場合

クラステスト: = ' ' 
    DEF  __init__ (自己、名):
        self.name =名
        パス
    DEF 試験(自己):
         プリント' 姓名是%S 'self.name)

T =テスト(' AHAH ' 印刷(t.name)

クラスメソッドは:インスタンスメソッドを呼び出すことはできません、クラス名は例もクラスメソッドは、クラス変数と呼ばれることができると呼ばれることができ、直接呼び出すことができます

クラステスト:
 = ' ' 

    DEF  __init__ (セルフ、名):
        self.name名= 
        合格

    DEF テスト(自己):
         印刷' 名前がS%である'self.name)

    @classmethod プラスデコレータこの方法は、クラスを定義することである
    DEF sayCountry(CLS):     #1 このクラスの代表的なCLS自体を'試験' 
        印刷(cls.name)

T =テスト(' AHAH ' プリント(t.name)
Test.sayCountry() クラスメソッド、クラス名への直接呼び出して、インスタンス化されていない必要があります;例もで呼び出すことができます

静的な方法:あなたはクラス変数を呼び出すことはできません、クラスのメソッドを呼び出すことはできません。クラス名を直接呼び出すことができ、例もそれを直接呼び出すことができます

クラステスト:
 = ' ' 

    DEF  __init__ (セルフ、名):
        self.name = 名前


    DEF テスト(自己):
         印刷' 名前がS%である'self.name)

    @classmethod プラスデコレータが定義されていますクラスメソッド
    DEF sayCountry(CLS):     #1 CLS自体、このクラスの代表的な'試験' 
        印刷(cls.name)は

    @classmethod 
    DEF :はgetCountry(CLS)
        cls.sayCountry() クラスのメソッドが別の起動でき

    @staticmethod プラスデコレータはクラス変数とクラスメソッドを呼び出すことはできません静的メソッドを定義することです
    DEF ヘルプ():
         プリントマニュアル

T =テスト(AHAH プリント(t.name)
Test.sayCountry() クラスメソッド、クラス名による直接呼び出しのない例としては、例も用いて呼び出すことができません
Test.help()
Test.getCountry()

属性方法:できない可変パラメータのようなものに見えます

クラステスト:
 = ' ' 

    DEF  __init__ (セルフ、名前、年齢):
        self.name = 名前
        self.age = 年齢

    DEF テスト(自己):
         印刷' 名前がS%である'self.name)

    @classmethod このデコレータを追加定義されたクラスのメソッドである
    DEF sayCountry(CLS)を:     #1 このクラスの代表的なCLS自体'テスト' 
        プリント(cls.name)は

    @classmethod 
    DEF :はgetCountry(CLS)
        cls.sayCountry() クラスに別の方法をコール

    @staticmethod プラスデコレータは、静的メソッドを定義することですクラス変数とクラスメソッドを呼び出すことはできません
    DEF )ヘルプ(:
         印刷マニュアル

    @Property 
    DEF価格(セルフ): プロパティ・メソッドは、パラメータを使用することはできません
        印刷(セルフ.age)

T =テスト(AHAH 、10 プリント(t.name)
Test.sayCountry() クラスメソッド、クラス名による直接呼び出しのない例として、実施例にも呼び出すことができない
Test.help()
テスト.getCountry()
t.priceの    括弧なしで、基準と参照属性(変数)一貫

 

おすすめ

転載: www.cnblogs.com/mhmh007/p/11857312.html