日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

metaclass

發布時間:2023/12/1 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 metaclass 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 用metaclass來指定類C的元類是MyType
class MyType:def __init__(cls, *args, **kwargs):print('here!')#由于metaclass=MyType,所以執行到這一步的時候,會調用MyType的構造函數 class C(metaclass=MyType):def __init__(self):pass

?

  • 對象后面跟(),是要執行類中的call方法。
  • 類C是一個對象,是元類MyType創建了它。遇到C()是要調用MyType的call
  • obj是一個對象,是類C創建了它。遇到obj()是要調用C的call
以下代碼調用方法的順序,按照數字順序先后執行 class MyType(type):def __init__(cls, *args, **kwargs):super(MyType, cls).__init__(*args, **kwargs)def __call__(cls, *args, **kwargs):#3.調用C類的__new__方法obj = cls.__new__(cls, *args, **kwargs)#4.調用C類的__init__方法cls.__init__(cls)#1.執行到class C(metaclass=MyType)的時候,調用MyType的__init__方法 class C(metaclass=MyType):def __init__(self):passdef __new__(cls, *args, **kwargs):return object.__new__(cls, *args, **kwargs)#2.執行到C()的時候,調用MyType的__call__方法 obj = C()

?

轉載于:https://www.cnblogs.com/dongmengze/p/9523008.html

總結

以上是生活随笔為你收集整理的metaclass的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。