国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

python元類與定制元類

2019-11-14 16:59:30
字體:
供稿:網(wǎng)友

1:元類

  元類:類的創(chuàng)建與管理者

  所有類的元類是type

  class a:      pass  

 

2:定制元類

  類的實例化過程:(可看類的基礎(chǔ)與要點

          1)調(diào)用__new__()創(chuàng)建實例

          2)調(diào)用__init__()初始化上面創(chuàng)建出來的實例

  所以:定制實例便是改變父類的__new__()或__init__()方法

  例子:

 1 class MyMeta(type): 2     def __init__(self,name,bases,dicts): 3         print('Init Instance.') 4  5     def __new__(cls,name,bases,dicts): 6         dicts['info'] = lambda self:print('Djx.')   #追加實例方法info() 7         res = type.__new__(cls,name,bases,dicts)    #調(diào)用父類type的new方法實例化實例 8         res.company = 'MaiZi'                       #追加屬性 9         return res                                  #返回實例10 11 class custom(metaclass=MyMeta):                     #用關(guān)鍵字表明元類不是type而是MyMeta12     pass13 14 if __name__ == '__main__':15     cus = custom()16     cus.info()17     print(cus.company)18 19 20 #Python2.x的寫法21 #class cus:22  #   __metaclass__ = MyMeta23   #  pass

  運行結(jié)果:    

      Init Instance.
      Djx.
      MaiZi


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亳州市| 萨嘎县| 鲜城| 项城市| 彩票| 泾川县| 乐亭县| 普兰县| 固镇县| 长寿区| 堆龙德庆县| 南投县| 吉林省| 铁岭县| 土默特右旗| 长宁区| 荆门市| 濮阳市| 平泉县| 苍溪县| 奉节县| 龙川县| 同仁县| 正镶白旗| 盘锦市| 沂南县| 海南省| 都匀市| 弥勒县| 攀枝花市| 云南省| 木兰县| 玉屏| 永福县| 姜堰市| 九龙城区| 崇仁县| 九寨沟县| 拜城县| 江城| 普安县|