Python自定義元類的實例講解
1、說明
一個類沒有聲明自己的元類,默認他的元類就是type,除了使用元類type,用戶也可以通過繼承type來自定義元類。
2、實例
我們可以使用類屬性 __metaclass__ 把一個類的創(chuàng)建過程,轉(zhuǎn)交給其它地方。
class A(object): __metaclass__ = ... # 這個類的創(chuàng)建轉(zhuǎn)交給其他地方 pass
先定義了類 A,然后定義了一個類屬性 __metaclass__,這個屬性表示創(chuàng)建類 A 的過程,轉(zhuǎn)交給其它地方處理。
類屬性 __metaclass__ 可以是一個方法,也可以是一個類。
內(nèi)容擴展:
用元類創(chuàng)建類
前面講到過,type 有一個作用是用于檢查對象的類型,其實它還有另外一個作用就是作為元類動態(tài)地創(chuàng)建類(對象)。
>>> Person = type("Person", (), {"live":True})
>>> Person
<class '__main__.Person'>
Person 就是一個類,它等價于:
>>> class Person: ... live = True ... >>> Person <class '__main__.Person'>
用元類 type 創(chuàng)建類的語法是:
type(類名,基類元組(可以為空), 屬性字典)
到此這篇關(guān)于Python自定義元類的實例講解的文章就介紹到這了,更多相關(guān)Python如何自定義元類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Anconda環(huán)境下Vscode安裝Python的方法詳解
anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項。這篇文章主要介紹了Anconda環(huán)境下Vscode安裝Python的方法,需要的朋友可以參考下2020-03-03
Python openpyxl模塊實現(xiàn)excel讀寫操作
這篇文章主要介紹了Python openpyxl模塊實現(xiàn)excel讀寫操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
python實現(xiàn)圖片,視頻人臉識別(opencv版)
這篇文章主要介紹了python實現(xiàn)圖像,視頻人臉識別(opencv版)的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11
詳解Python中命令行參數(shù)argparse的常用命令
這篇文章主要為大家詳細介紹了Python中命令行參數(shù)argparse的一些常用命令,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,需要的可以了解一下2023-01-01

