国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 达日县| 双辽市| 绥芬河市| 景泰县| 江城| 年辖:市辖区| 麻江县| 清原| 玉门市| 抚顺县| 隆子县| 同江市| 霍山县| 民丰县| 鹰潭市| 高淳县| 西吉县| 淮阳县| 美姑县| 肇州县| 乾安县| 嘉祥县| 隆昌县| 江津市| 汤原县| 商城县| 平度市| 南投县| 鱼台县| 长顺县| 上虞市| 美姑县| 十堰市| 潞城市| 页游| 陇西县| 大英县| 益阳市| 桐庐县| 攀枝花市| 南昌市|