Pythonのクラスオブジェクトクラスのインスタンスの作成と

そして、クラスオブジェクトクラスのインスタンスの作成

Classオブジェクトクラスのインスタンスの作成と
クラス(タイプの)AnimalMeta:
     DEF  __new__(CLS、* argsを、** kwargsから):
         印刷" =======> AnimalMeta__new __%S "CLS)
         戻り値の型の。__New__(CLS、引数*、** kwargsから)

    DEF  __init__(セルフ、引数*、** :kwargsから)
         印刷" =======> AnimalMeta__init __%S "%の自己)

    DEF  __call__(セルフ、引数*、* * kwargsから):
         印刷" =======> AnimalMeta__call __%のS "%の自己)
         戻り値のタイプ。__call__(自己、* argsを、** kwargsから)


クラスアニマル(メタクラス= AnimalMeta):
     デフ __new__(CLS、* argsを、** kwargsから):
         プリント" =======> Animal__new __%sの"%のCLS)
         リターンオブジェクト。__new__(CLS、* argsを、** kwargsから)

    デフ __init__ (自己):
         プリント" =======> Animal__init __%sの"%の自己)

    デフ __call__(自己、* argsを、**kwargsから):
         印刷" =======> Animal__call __%S "自己)


クラスPersonMeat(タイプ):

    DEF  __new__ある(CLS、引数*、** kwargsから):
        クラスのオブジェクトを作成するためには、に従って実装クラスオブジェクトは、の戻り値によって決定されていることを別の作成するオブジェクトの異なるクラスの戻り値、
        が、オブジェクト型のサブクラスがなければならない
        印刷=======> PersonMeat__new __%S %のCLS)
         戻り値の型の。__new__(CLS、* argsを、** kwargsから)
         #のタイプのリターン.__新しい新しい__(AnimalMeta、* argsを、** kwargsから)#クラスのオブジェクトは他の元のクラスのサブクラスによって作成された
        #のリターンAnimalMeta(* argsを、** kwargsから)

    DEF __init__(セルフ、引数*、** kwargsから):
        クラスオブジェクトとに属性を割り当てるための方法を実施するための
        印刷" =======> PersonMeat__init __%S "%の自己)

    DEF  __call__(セルフ、*引数、** kwargsから):
        クラスのインスタンスを作成リアライズは、自己クラスオブジェクトは、戻り値__new__オブジェクトに基づいて、第1クラスオブジェクト__new__メソッド呼び出しである
        #の実装クラスの__init__メソッドの異なるインスタンスへのコールを完全なクラスインスタンス割り当て属性
        印刷" =======> PersonMeat__call __%S "%の自己)
         戻り値のタイプを。__call__(セルフ、引数*、** kwargsから)
         #の戻り値の型.__コール__(動物、*引数を、 kwargsから**) 
        動物リターン(* argsを、** kwargsから)

クラス persion(=メタクラスPersonMeat):

    DEF  __new__(CLS、* argsを、** kwargsから):
        クラスのインスタンスを作成しますリアライズ
        印刷=======> Persion__new __% S "CLS)
         リターンオブジェクト。__new__です(CLS、引数*、** kwargsから)
         #は、新しい新しいオブジェクト.__ __(動物、引数*、** kwargsから)を返す
        #の復帰動物を()
    DEF  __init__ (セルフ):
         #1 のクラスインスタンス属性の割り当て
        を印刷" =======> __%S Persion__init "%のセルフ)

    DEF  __call__(セルフ、引数*、** kwargsから):
         印刷" =======> Persion__call __%S "%の自己)

'' ' 
プロセスのインスタンスを作成する:
1、最初__new_元のクラスをクラスによって_クラスオブジェクト作成する方法
クラスオブジェクトのプロパティおよびメソッドへの割り当てを実現するために、2クラスによって元のクラスの__init__メソッドで
このように実現_元のメソッド__call__クラスを呼び出すことによってクラスのクラスオブジェクト_new__ __init__スケジューリング方法の方法及び
4、__new__メソッドはクラスのクラス・オブジェクト・インスタンスを呼び出し
__init__メソッド呼び出しが値プロパティクラスオブジェクト・クラスのインスタンスと方法実施、5 
「」 ' 
#1 P = persionを()
コードの表示

 

おすすめ

転載: www.cnblogs.com/aadmina/p/11069091.html