首頁  >  文章  >  後端開發  >  python特殊方法之new詳解

python特殊方法之new詳解

高洛峰
高洛峰原創
2017-03-04 17:24:571333瀏覽

object.__new__(cls[,...])

呼叫以建立類別 cls 的新實例。 __new__() 是一個靜態方法(特殊情況,因此您無需這樣聲明),它將請求實例的類別作為其第一個參數。其餘參數是傳遞給物件建構函數表達式(對類別的呼叫)的參數。 __new__() 的傳回值應該是新的物件實例(通常是cls 的實例)。實例).__new__(cls[,...]) 使用適當的參數,然後根據需要修改新建立的實例,然後傳回它。的__init__ () 方法將像__init__(self[,...]) 一樣被調用,其中self 是新實例,其餘參數與傳遞給__new__() 的參數相同。 _new__() 執行不傳回cls 的實例,則不會呼叫新實例的__init__() 方法。自訂實例建立。它通常在自訂元類別中被重寫,以便自訂類別創建。 __new__()是一個靜態方法(不需要宣告),類別本身(cls)作為第一個參數,其他的參數是傳遞給物件建構函數的表達式(對類別的呼叫),__new()__的返回值應該是新的物件實例(一般是cls的實例)。 cls[, ...]))來改變這個實例對象,可以把實例放在字元的空格等等去掉(這句話是我自己加的)。傳回了一個cls的實例對象,然後可以呼叫這個新的實例的__init()__方法(__init__[,...]),self指新建立的實例其餘的參數並傳遞給__new( )的一樣。不可變類型(如int,str,或元組)的子類自訂實例的建立。之前,先將字串做一個處理,就可以用__new__,下面的例子就是做一個去空格處理。相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn