2016-11-17 167 views

回答

4

我們不應該談論繼承,而是實例化。類與其元類的相關性與實例與其基類有關。類是元類的一個實例。

特別是在元類上定義的每個字段都可以從類中作爲「元類字段」訪問。因此,如果一個元類用於多個類,則元類中的字段將在這些類之間共享。

請注意,元類上的__init__與類上的__init__不一樣。這些是無關的。 __call__也成爲一個新的「構造函數」。看看這個:

>>> class Meta(type): 
...  def __call__(self): 
...   return 1 

>>> class Foo(metaclass=Meta): 
...  pass 

>>> Foo() 
1 
+0

所以'__init__' __del__' __new__'在默認元類'type'上定義爲它的元類字段。我對嗎? –

+0

@RavinduShantha是的。 – freakish

+0

@怪異的謝謝 –

相關問題