這篇文章主要介紹了Python中type的構造函數參數含義說明,本文用一個編碼實例解釋Python type的參數的作用和含義,需要的朋友可以參考下
測試代碼如下:
代碼如下:
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:
INFO:root:name is:Model
INFO:root:base is:(
INFO:root:attrs is:{'__module__': '__main__', '__metaclass__':
結論就顯而易見了。cls是當前類的名字,即類本身。name是通過__metaclass__屬性指向ModelMetaClass的類,即要實例化的類,ModelMetaClass攔截了該類的實例化。base是要實例化的類的基類。attrs是要實例化的類的屬性集合。