首頁 > 後端開發 > Python教學 > 關於python 特殊方法之new

關於python 特殊方法之new

迷茫
發布: 2017-03-25 14:33:22
原創
1675 人瀏覽過

new(cls[, ...##] )
##呼叫以建立類別

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板