39. __init__和__new__的區別?

__init__ 用來初始化實例,爲其實例設置屬性。

__init__的第一個佔位參數是class的實例對象。

init 在對象創建後,對對象進行初始化。

__new__用來創建實例,在返回的實例上執行__init__,如果不返回實例那麼__init__將不會執行。

__new__的第一個佔位參數是class對象。

當一個類實例化時,最先執行的是__new__,而不是__init__。

new 是在對象創建之前創建一個對象,並將該對象返回給 init。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章