python魔法方法有哪幾種?
1、__new__(cls[,...])
__new__是對(duì)象實(shí)例化過程中第一個(gè)被調(diào)用的方法。它構(gòu)造了對(duì)象實(shí)例,然后將其他參數(shù)傳遞過__init__。__new__用的相當(dāng)少,但它還是有它的用處,尤其是當(dāng)子類化一個(gè)不可變的類型如tuple和str。對(duì)于__new__不作過多細(xì)節(jié)探討,相關(guān)細(xì)節(jié)可以查看Python文檔。
2、__init__(self[,...])
類的初始化方法,無(wú)論使用什么主構(gòu)造函數(shù)都會(huì)通過。
3、__del__(self)
如果說__new__和__init__構(gòu)成了對(duì)象的構(gòu)造器,那么__del__就是對(duì)象的析構(gòu)器。它沒有實(shí)現(xiàn)語(yǔ)句delx的行為(因此,不能轉(zhuǎn)換成x.__del__())。相反,它定義了一個(gè)對(duì)象被垃圾回收時(shí)的行為。它對(duì)在對(duì)象被清理前需要其他額外的清理工作時(shí)十分有用,例如sockets對(duì)象或文件對(duì)象。但是請(qǐng)小心,因?yàn)椴荒鼙WC對(duì)象仍然存在而解釋器退出前__del__的執(zhí)行,因此__del__不能替代良好的編碼做法(例如在完成操作后始終關(guān)閉連接)。事實(shí)上,__del__應(yīng)該從不被使用,因?yàn)樗诓环€(wěn)定的情況下被調(diào)用。我們應(yīng)該謹(jǐn)慎使用它。
以上就是python中的3種魔法方法,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。