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