Python自定義元類的實例講解
一個類沒有聲明自己的元類,默認他的元類就是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(類名,基類元組(可以為空), 屬性字典)
到此這篇關于Python自定義元類的實例講解的文章就介紹到這了,更多相關Python如何自定義元類內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. 基于javaweb+jsp實現(xiàn)學生宿舍管理系統(tǒng)2. 如何封裝一個Ajax函數(shù)3. ASP.NET MVC實現(xiàn)樹形導航菜單4. 多級聯(lián)動下拉選擇框,動態(tài)獲取下一級5. jsp網(wǎng)頁實現(xiàn)貪吃蛇小游戲6. Ajax常用封裝庫——Axios的使用7. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)8. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera9. 怎樣打開XML文件?xml文件如何打開?10. Python數(shù)據(jù)分析JupyterNotebook3魔法命令詳解及示例
