1、說明
一個類沒有聲明自己的元類,默認他的元類就是type,除了使用元類type,用戶也可以通過繼承type來自定義元類。
2、實例
我們可以使用類屬性 __metaclass__ 把一個類的創建過程,轉交給其它地方。
class A(object):
__metaclass__ = ... # 這個類的創建轉交給其他地方
pass
先定義了類 A,然后定義了一個類屬性 __metaclass__,這個屬性表示創建類 A 的過程,轉交給其它地方處理。
類屬性 __metaclass__ 可以是一個方法,也可以是一個類。
內容擴展:
用元類創建類
前面講到過,type 有一個作用是用于檢查對象的類型,其實它還有另外一個作用就是作為元類動態地創建類(對象)。
>>> Person = type("Person", (), {"live":True})
>>> Person
class '__main__.Person'>
Person 就是一個類,它等價于:
>>> class Person:
... live = True
...
>>> Person
class '__main__.Person'>
用元類 type 創建類的語法是:
type(類名,基類元組(可以為空), 屬性字典)
到此這篇關于Python自定義元類的實例講解的文章就介紹到這了,更多相關Python如何自定義元類內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python基礎之元類詳解
- 詳解python metaclass(元類)
- 一篇文章帶你了解python迭代器和生成器
- 正確理解python迭代器與生成器
- python學習之可迭代對象、迭代器、生成器
- Python元類與迭代器生成器案例詳解