new
(cls[, ...##] )
##呼叫以建立類別
的新實例。 new() 是一個靜態方法(特殊情況,因此您無需這樣聲明),它將請求實例的類別作為其第一個參數。其餘參數是傳遞給物件建構函數表達式(對類別的呼叫)的參數。 new()
的傳回值應該是新的物件實例(通常是 cls
的實例)。類別的new() 方法使用
super(currentclass, cls).new(cls[,
...])<span class="pre"><span class="pre"><span class="pre"> 使用適當的參數,然後在返回之前根據需要修改新建立的實例。實例的</span>init()</span> 方法將像</span>
init(self[,
# 一樣被調用,其中 self 是新實例,其餘參數與傳遞給
new()
的參數相同。 ,那麼新實例的<span class="pre">init()<span class="pre"> 方法將不會被呼叫。實例建立的不可變類型(如int、str 或tuple)。它通常在自訂元類別中被重寫,以便自訂類別建立。 </span></span>new()是一個
靜態方法(不需要宣告),類別本身(cls)作為第一個參數,其他的參數是傳遞給物件
建構函數
表達式(對類別的呼叫),new()的回傳值應該是一個新的物件實例(一般是cls的實例)。在傳回新產生的實例之前,呼叫父類別的new()方法(super(currentclass,
cls).new(cls[, ...])#)來改變這個實例對象,可以把實例裡面字元的空格去掉等等(這句話是我自己加的)。的實例的init()方法(init[,...]),self指定新的實例所建立的其餘參數和傳遞給new()的相同。的實例,就不會呼叫這個實例的init()方法。寫自訂元類別來進行自訂類別的建立。例子就是做一個去空格處理。
以上是關於python 特殊方法之new的詳細內容。更多資訊請關注PHP中文網其他相關文章!