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

首頁 > 編程 > Python > 正文

Python中type的構造函數參數含義說明

2019-11-25 17:16:38
字體:
來源:轉載
供稿:網友

測試代碼如下:

復制代碼 代碼如下:

 class ModelMetaClass(type):
     def __new__(cls,name,base,attrs):
         logging.info("cls is:"+str(cls))
         logging.info("name is:"+str(name))
         logging.info("base is:"+str(base))
         logging.info("attrs is:"+str(attrs))
         return type.__new__(cls,name,base,attrs)
         pass
     pass
 
 class Model(dict):
     __metaclass__ = ModelMetaClass
     def __init__(self):
         pass
     pass
 
 def main():
     m=Model()
 
 if __name__ == '__main__':
     main()

測試結果:
復制代碼 代碼如下:

 INFO:root:cls is:<class '__main__.ModelMetaClass'>
 INFO:root:name is:Model
 INFO:root:base is:(<type 'dict'>,)
 INFO:root:attrs is:{'__module__': '__main__', '__metaclass__': <class '__main__.ModelMetaClass'>, '__init__': <function __init__ at 0x025C76F0>}

結論就顯而易見了。cls是當前類的名字,即類本身。name是通過__metaclass__屬性指向ModelMetaClass的類,即要實例化的類,ModelMetaClass攔截了該類的實例化。base是要實例化的類的基類。attrs是要實例化的類的屬性集合。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象山县| 柘荣县| 迁安市| 左贡县| 军事| 安宁市| 奉贤区| 大城县| 黑河市| 桂平市| 达日县| 曲阳县| 文化| 宿迁市| 绍兴县| 六安市| 双城市| 平山县| 亚东县| 济南市| 定西市| 肇源县| 嘉禾县| 大城县| 阳泉市| 内丘县| 富民县| 菏泽市| 泸定县| 华蓥市| 永川市| 乐山市| 临沂市| 高邑县| 思南县| 奎屯市| 长乐市| 东阳市| 青冈县| 焉耆| 沙坪坝区|