21個。メタクラスオブジェクト指向のタイプ

A.  メタクラス(メタクラス)

Pythonのオブジェクト内のすべてが、私たちはクラス自体がオブジェクトで定義するには、クラスのキーワードを使用し、オブジェクトのクラスは、メタクラスのクラスクラスと呼ぶことができると呼ばれるメタクラス生成するための責任がある


//www.cnblogs:HTTPSを。 COM / nickchen121 / P / 10992975.html 詳細.........

https://www.cnblogs.com/linhaifeng/articles/8029564.html 詳細.......


クラスFooの(オブジェクト):
    ... 
AA = はFoo()
 プリント(タイプ(AA))  <クラスの。__ __mainはFoo '> 
印刷(タイプ(フー))  <クラス'タイプ'> 

印刷" *** ************************************************** ****** " 

当たり =タイプ(' パー'、(オブジェクト)、{ " X ":1 })
 プリント。(PER __dict__ プリント(Per.x)


プリント"************************************************** ********* "

#のクラスのタイプは、クラス型メタクラスのインスタンス化される
DEFの __init__ :(セルフ、名前、年齢)
    self.name = 名前
    self.age = 年齢
 DEF AA(セルフ):
     印刷" これは、作成するクラスのメタクラス型の一種でありますハッハッハプリント(self.name)

当たり =タイプ(' パー'、(オブジェクト)、{ ' X ':1、' __init__ '__init__' AA ' :AA})
 プリント(PER)
 印刷(パー。__dict__ A1パーの=( "ジョー・スミス"、55)
印刷(Per.x)
 #1 F1パー( "ショーケース"の=、55) 印刷(f1.name)

 

クラスを作成するには、3つの要素:クラス名、ベースクラス、クラスの名前空間の

人々 = タイプの(クラス名、ベースクラス、クラスの名前空間)

CLASS_NAME = 人民  #のクラス名

class_basesは =(オブジェクト)   #の基本クラス

名前空間のクラス 
= class_dic {} 

class_body = "" " 
国= '中国
DEF __init __(自己、名前、年齢):
    self.name名= 
    self.age =年齢は
DEF(自己を)EAT:
    印刷(「%Sがあります「self.nameの%を食べる)
"" " 

エグゼクティブ
    class_body、
    {}、
    class_dic、 

 

ます。https://www.cnblogs.com/Sup-to/p/11091146.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33805557/article/details/94569045