Python自定義元類的實(shí)例講解
一個(gè)類沒(méi)有聲明自己的元類,默認(rèn)他的元類就是type,除了使用元類type,用戶也可以通過(guò)繼承type來(lái)自定義元類。
2、實(shí)例我們可以使用類屬性 __metaclass__ 把一個(gè)類的創(chuàng)建過(guò)程,轉(zhuǎn)交給其它地方。
class A(object): __metaclass__ = ... # 這個(gè)類的創(chuàng)建轉(zhuǎn)交給其他地方 pass
先定義了類 A,然后定義了一個(gè)類屬性 __metaclass__,這個(gè)屬性表示創(chuàng)建類 A 的過(guò)程,轉(zhuǎn)交給其它地方處理。
類屬性 __metaclass__ 可以是一個(gè)方法,也可以是一個(gè)類。
內(nèi)容擴(kuò)展:
用元類創(chuàng)建類
前面講到過(guò),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)建類的語(yǔ)法是:
type(類名,基類元組(可以為空), 屬性字典)
到此這篇關(guān)于Python自定義元類的實(shí)例講解的文章就介紹到這了,更多相關(guān)Python如何自定義元類內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. XML在語(yǔ)音合成中的應(yīng)用2. 不要在HTML中濫用div3. jscript與vbscript 操作XML元素屬性的代碼4. XML入門的常見(jiàn)問(wèn)題(三)5. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)6. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別7. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)8. 基于PHP做個(gè)圖片防盜鏈9. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過(guò)程和條件語(yǔ)句)10. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)
