成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python __new__ 和 __init__

qieangel2013 / 1347人閱讀

摘要:概述和是類實例化的過程中被調用的方法,負責對象的創(chuàng)建,相當于構造器或者構造函數(shù)負責對象初始化。使用頻率上,較多會被使用。而類似一般的實例方法,第一個參數(shù)是,表示實例。以上代碼和經驗僅在得到驗證。

概述

newinit 是類實例化的過程中被調用的方法, new 負責對象的創(chuàng)建,相當于構造器或者構造函數(shù); init 負責對象初始化。 使用頻率上, init 較多會被使用。

class A(object):

    def __new__(cls):
        return object.__new__(cls)

    def __init__(self):
        self.instance_method()

    def instance_method(self):
        print "success!"

newA = A()
區(qū)別 參數(shù)

new 的第一個參數(shù)是 cls,表示類本身。

init 類似一般的實例方法, 第一個參數(shù)是 self,表示實例。我們可以看到 init 方法運行之前, 實例已經可以被使用了(self參數(shù))。實例上的其他的方法也是可以使用的了。

調用時機

當我們創(chuàng)建類的對象時, new 先被調用,返回一個對象,對象引用作為參數(shù)傳遞給 init__, 然后對象屬性被初始化。__init 方法不能返回任何數(shù)據。

__new__ --->(創(chuàng)建對象) --> __init__(self)
使用

只有很少的時候需要自己編寫 new 方法,比如單例模式。大多數(shù)情況下,只需要關心實例的初始化,初始化過程中屬性的分配,以及是否調用其他的實例方法。

以上代碼和經驗僅在 Python(2.7) 得到驗證。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/40928.html

相關文章

  • Python new 類方法 init 實例方法以及單例模式的簡單討論

    摘要:中的類都是單例模式一天,一同事問我這樣一個問題。與方法屬于新式類,即屬于類。方法在實例被創(chuàng)建之后被調用,該方法僅僅是對方法創(chuàng)建的實例進行一些初始化操作。需要注意的是,在重寫方法與方法的參數(shù)應該保持一致,否則會有發(fā)生。 Python 中的類都是單例模式? 一天,一同事問我這樣一個問題。這是一個奇怪的問題,可能你也這么認為。這里先不做解釋,我們先來看看 __new__ 和 __init__...

    FingerLiu 評論0 收藏0
  • python 關于 __new____init__ , cls, self 的碎碎念。

    摘要:本文旨在澄清里和的概念。的創(chuàng)建并返回的這個實例,是裸的。然后我們的的再接手這個裸的實例去進一步加工,比如加上各種,或再執(zhí)行一些別的這個過程就是。如果用了,那么就可以無視這個,因為就可以理解成一個普通的函數(shù)表示這個類本身。 本文旨在澄清 python 里 __new__ vs __init__ 和 cls vs self 的概念。 很多初學者會困擾,python的魔法函數(shù) __new_...

    _ipo 評論0 收藏0
  • python設計模式-單例模式

    摘要:實現(xiàn)實現(xiàn)單例模式有多種方案使用提供了非常易用的類,只要繼承它,就會成為單例。參考鏈接單例模式最后,感謝女朋友支持。 問題:現(xiàn)代化的巧克力工廠具備計算機控制的巧克力鍋爐。鍋爐做的事情就是把巧克力和牛奶融在一起,然后送到下一個階段,以制成巧克力棒。下邊是一個巧克力公司鍋爐控制器的代碼,仔細觀察一下,這段代碼有什么問題? class ChocolateBoiler(object): ...

    darkbug 評論0 收藏0
  • python中的魔術方法__

    摘要:在任何新式類的方法,不能調用自身的來制造實例,因為這會造成死循環(huán)。因此必須避免類似以下的寫法在中避免或。注意如果沒有返回即當前類的實例,那么當前類的方法是不會被調用的。是最基本的用于比較的魔術方法。 1、__ new__, __ init__, __ call__ __ new__(cls, *args, **kwargs) 創(chuàng)建對象時調用,返回當前對象的一個實例;注意:這里的第一個...

    SegmentFault 評論0 收藏0
  • 這幾道Python面試題,穩(wěn)準狠,Python面試題No15

    摘要:必須放一個表情包,太魔性了第題修改以下代碼,使得下面的代碼調用類的方法原始代碼基礎方法衍生方法面試要點類繼承,只要通過方法指定類對象就可以了。必須放一個表情包,太魔性了! showImg(https://user-gold-cdn.xitu.io/2019/5/23/16ae22b8813bdd82); 第1題: 修改以下Python代碼,使得下面的代碼調用類A的show方法); 原始代碼 ...

    番茄西紅柿 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<