Python 中__new__方法介紹和用法

__new__ 的作用

在Python中__new__方法與__init__方法類似,但是如果兩個都存在那么__new__閑執(zhí)行。

在基礎類object中,__new__被定義成了一個靜態(tài)方法,并且需要傳遞一個參數(shù)cls。Cls表示需要實例化的類,此參數(shù)在實例化時由Python解析器自動提供。

new()是在新式類中新出現(xiàn)的方法,它作用在構造方法init()建造實例之前,可以這么理解,在Python 中存在于類里面的構造方法init()負責將類的實例化,而在init()調用之前,new()決定是否要使用該init()方法,因為new()可以調用其他類的構造方法或者直接返回別的對象來作為本類 的實例。?

new()方法的特性

new()方法是在類準備將自身實例化時調用。?

new()方法始終都是類的靜態(tài)方法,即使沒有被加上靜態(tài)方法裝飾器。

實例


結果:


學習從來不是一個人的事情,要有個相互監(jiān)督的伙伴,工作需要學習python或者有興趣學習python的伙伴可以私信回復小編“學習” 獲取資料,一起學習

Python3和 Python2中__new__使用不同

Python2的寫法

注意 Python 版本大于等于2.7才支持


Python3的寫法


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 包(lib)、模塊(module) 在Python中,存在包和模塊兩個常見概念。 模塊:編寫Python代碼的py...
    清清子衿木子水心閱讀 3,897評論 0 27
  • 轉載須注明出處:簡書@Orca_J35 object.__new__(cls[, ...]) 在新式類中, __n...
    import_hello閱讀 305評論 0 0
  • Python語言特性 1 Python的函數(shù)參數(shù)傳遞 看兩個如下例子,分析運行結果: 代碼一: a = 1 def...
    伊森H閱讀 3,175評論 0 15
  • 請給我一塊面具, 能掩蓋悲傷的面具, 能帶著笑臉的面具。 請給我一塊面具, 能淡去淚痕的面具, 能充滿激情的面具。...
    春秋兩不霑閱讀 260評論 1 2
  • 一只鯉魚的臉,看不到有悲傷,也看不到有喜悅,更看不到跳龍門的興奮。魚塘幾尺見方,除了他還有幾尾慢悠悠游著的黑鯽魚,...
    天線的觸角閱讀 288評論 0 0

友情鏈接更多精彩內容