最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python __init__與 __new__的區(qū)別

 更新時間:2023年02月24日 15:40:59   作者:做測試的喵醬  
本文主要介紹了python __init__與 __new__的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、構(gòu)造函數(shù) __init__ 與__new__

__new__   作用: 創(chuàng)建對象,并分配內(nèi)存

__init__ 作用: 初始化對象的值

注意:

1、與java相比,java只有一個構(gòu)造器。而python  __new__  方法與 __init__ 方法 組合,才能稱為一個對應(yīng)類似于java中的構(gòu)造器 

2、先執(zhí)行__new__ ,創(chuàng)建對象,并分配內(nèi)存.

再執(zhí)行 __init__,初始化對象的值。

3、任何類都繼承于object 類。

我們一般不重寫__new__ 方法。 我們不重寫,就默認(rèn)調(diào)用父類 的 __new__ 方法。

4、__new__ 方法 ,一定要return 一個對象。 如果自己重寫__new__ 方法,但是沒有return出一個對象。連對象都沒創(chuàng)建成功,后面是不會進(jìn)行初始化對象的。

例子1:

class Person(object):
    def __init__(self,name,id,sex):
        self.name = name
        self.id = id
        self.sex = sex
        print("初始化對象的值")
 
    def __new__(cls, *args, **kwargs):
        print("開始創(chuàng)建對象,并分配內(nèi)存")
 
if __name__ == '__main__':
    p = Person("張三",12,"男")

運(yùn)行結(jié)果,只執(zhí)行了__new__ 方法,并沒有執(zhí)行 __init__方法。

為啥呢? 因為new函數(shù),沒有返回一個 對象。

正確的用法

class Person(object):
    def __init__(self,name,id,sex):
        self.name = name
        self.id = id
        self.sex = sex
        print("初始化對象的值")
 
    def __new__(cls, *args, **kwargs):
        print("開始創(chuàng)建對象,并分配內(nèi)存")
        self = super().__new__(cls)
        return self
 
if __name__ == '__main__':
    p = Person("張三",12,"男")

打印結(jié)果:

開始創(chuàng)建對象,并分配內(nèi)存
初始化對象的值

到此這篇關(guān)于python __init__與 __new__的區(qū)別的文章就介紹到這了,更多相關(guān)python __init__與 __new__內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pandas中map(),applymap(),apply()函數(shù)的使用方法

    Pandas中map(),applymap(),apply()函數(shù)的使用方法

    本文主要介紹了Pandas中map(),applymap(),apply()函數(shù)的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Pytorch 如何實現(xiàn)LSTM時間序列預(yù)測

    Pytorch 如何實現(xiàn)LSTM時間序列預(yù)測

    本文主要基于Pytorch深度學(xué)習(xí)框架,實現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)模型,用于時間序列的預(yù)測
    2021-05-05
  • Python中實現(xiàn)常量(Const)功能

    Python中實現(xiàn)常量(Const)功能

    這篇文章主要介紹了Python中實現(xiàn)常量(Const)功能,python語言本身沒有提供const,本文使用一個類來實現(xiàn)常量定義功能,并介紹了使用方法,需要的朋友可以參考下
    2015-01-01
  • python之OpenCV的作用以及安裝案例教程

    python之OpenCV的作用以及安裝案例教程

    這篇文章主要介紹了python之OpenCV的作用以及安裝案例教程,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Python中使用正則表達(dá)式替換特定格式的文本

    Python中使用正則表達(dá)式替換特定格式的文本

    在Python中使用正則表達(dá)式替換特定格式的文本,主要通過re模塊的sub()和subn()函數(shù)實現(xiàn),本文給大家介紹Python中使用正則表達(dá)式替換特定格式的文本,感興趣的朋友一起看看吧
    2025-09-09
  • Python for Informatics 第11章之正則表達(dá)式(四)

    Python for Informatics 第11章之正則表達(dá)式(四)

    這篇文章主要介紹了Python for Informatics 第11章之正則表達(dá)式(四) 的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • python多線程調(diào)用exit無法退出的解決方法

    python多線程調(diào)用exit無法退出的解決方法

    今天小編就為大家分享一篇python多線程調(diào)用exit無法退出的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓(xùn)練保存模型

    python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓(xùn)練保存模型

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用slim函數(shù)進(jìn)行模型的訓(xùn)練及保存模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python腳本實現(xiàn)掃描指定目錄下.py文件并提取import語句

    Python腳本實現(xiàn)掃描指定目錄下.py文件并提取import語句

    這篇文章主要為大家詳細(xì)介紹了如何使用Python腳本實現(xiàn)掃描指定目錄下.py文件并提取import語句,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-03-03
  • Python常用模塊介紹

    Python常用模塊介紹

    這篇文章主要介紹了Python常用模塊介紹,本文羅列了如python運(yùn)行時服務(wù)、數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、算法和代碼簡化、string 和 text 處理、python數(shù)據(jù)庫訪問等模塊,需要的朋友可以參考下
    2014-11-11

最新評論

太原市| 三亚市| 鄯善县| 靖江市| 都江堰市| 随州市| 南乐县| 肇源县| 蓬溪县| 霍林郭勒市| 阿图什市| 龙泉市| 津南区| 五台县| 宜章县| 铜梁县| 繁昌县| 广德县| 尖扎县| 翼城县| 嘉祥县| 三江| 龙海市| 响水县| 林西县| 都昌县| 阿瓦提县| 安乡县| 临高县| 宜川县| 垣曲县| 富裕县| 霍林郭勒市| 岑巩县| 临高县| 大埔县| 麻阳| 探索| 曲麻莱县| 肥城市| 固镇县|