Python new() 方法


什么是new方法

__new__方法接受的參數雖然也是和__init__一樣,但__init__是在類實例創建之后調用,而 __new__方法正是創建這個類實例的方法。 __new__()是在新式類中新出現的方法,它作用在構造方法建造實例之前,在Python 中 存在於類里面的構造方法__init__()負責將類的實例化,而在__init__()啟動之前,__new__()決定是否 要使用該__init__()方法,因為__new__()可以調用其他類的構造方法或者直接返回別的對象來作為本類 的實例。

class Bar(object):
pass

class Foo(object):
def __new__(cls, *args, **kwargs):
return Bar()

print(Foo())
print(Bar())

執行結果:

<__main__.Bar object at 0x000001B839B390F0>
<__main__.Bar object at 0x000001B839B390F0>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM