Python自定義元類的實(shí)例講解
一個(gè)類沒有聲明自己的元類,默認(rèn)他的元類就是type,除了使用元類type,用戶也可以通過繼承type來自定義元類。
2、實(shí)例我們可以使用類屬性 __metaclass__ 把一個(gè)類的創(chuàng)建過程,轉(zhuǎn)交給其它地方。
class A(object): __metaclass__ = ... # 這個(gè)類的創(chuàng)建轉(zhuǎn)交給其他地方 pass
先定義了類 A,然后定義了一個(gè)類屬性 __metaclass__,這個(gè)屬性表示創(chuàng)建類 A 的過程,轉(zhuǎn)交給其它地方處理。
類屬性 __metaclass__ 可以是一個(gè)方法,也可以是一個(gè)類。
內(nèi)容擴(kuò)展:
用元類創(chuàng)建類
前面講到過,type 有一個(gè)作用是用于檢查對(duì)象的類型,其實(shí)它還有另外一個(gè)作用就是作為元類動(dòng)態(tài)地創(chuàng)建類(對(duì)象)。
>>> Person = type('Person', (), {'live':True})>>> Person<class ’__main__.Person’>
Person 就是一個(gè)類,它等價(jià)于:
>>> class Person:... live = True...>>> Person<class ’__main__.Person’>
用元類 type 創(chuàng)建類的語法是:
type(類名,基類元組(可以為空), 屬性字典)
到此這篇關(guān)于Python自定義元類的實(shí)例講解的文章就介紹到這了,更多相關(guān)Python如何自定義元類內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python如何寫個(gè)俄羅斯方塊2. JAVA抽象類及接口使用方法解析3. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)4. 如何通過vscode運(yùn)行調(diào)試javascript代碼5. Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn)6. python b站視頻下載的五種版本7. Java構(gòu)建JDBC應(yīng)用程序的實(shí)例操作8. JavaScript設(shè)計(jì)模式之策略模式實(shí)現(xiàn)原理詳解9. XML基本概念XPath、XSLT與XQuery函數(shù)介紹10. vue之elementUi的el-select同時(shí)獲取value和label的三種方式
