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

Python中__new__和__init__的區(qū)別與聯(lián)系

 更新時間:2021年05月05日 13:17:09   投稿:WDC  
這篇文章主要介紹了Python中__new__和__init__的區(qū)別與聯(lián)系,需要的朋友可以參考下

__new__ 和 __init__ 的區(qū)別主要表現(xiàn)在:

__new__ 負(fù)責(zé)對象的創(chuàng)建而 __init__ 負(fù)責(zé)對象的初始化。

__new__:創(chuàng)建對象時調(diào)用,會返回當(dāng)前對象的一個實例

__init__:創(chuàng)建完對象后調(diào)用,對當(dāng)前對象的一些實例初始化,無返回值

1. 在類中,如果__new__和__init__同時存在,會優(yōu)先調(diào)用__new__

class ClsTest(object):    def __init__(self):        print("init")    def __new__(cls,*args, **kwargs):        print("new")ClsTest()

輸出:

new

2. 如果__new__返回一個對象的實例,會隱式調(diào)用__init__

代碼實例:

class ClsTest(object):    def __init__(self):        print ("init")    def __new__(cls,*args, **kwargs):        print ("new %s"%cls)        return object.__new__(cls, *args, **kwargs)ClsTest()

輸出:

new <class '__main__.ClsTest'>init

3. __new__方法會返回所構(gòu)造的對象,__init__則不會。__init__無返回值。

class ClsTest(object):     def __init__(cls):             cls.x = 2             print ("init")             return clsClsTest()

輸出:

initTraceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: __init__() should return None, not 'ClsTest'

4. 若__new__沒有正確返回當(dāng)前類cls的實例,那__init__是不會被調(diào)用的,即使是父類的實例也不行

class ClsTest1(object):    passclass ClsTest2(ClsTest1):    def __init__(self):        print ("init")    def __new__(cls,*args, **kwargs):        print ("new %s"%cls)        return object.__new__(ClsTest1, *args, **kwargs)b=ClsTest2()print (type(b))

 輸出:

new <class '__main__.ClsTest2'>

<class '__main__.ClsTest1'>

知識點:

1. 繼承自object的新式類才有__new__

2. __new__至少要有一個參數(shù)cls,代表要實例化的類,此參數(shù)在實例化時由Python解釋器自動提供,__new__必須要有返回值,返回實例化出來的實例,可以return父類__new__出來的實例,或者直接是object的__new__出來的實例

3. __init__有一個參數(shù)self,就是這個__new__返回的實例,__init__在__new__的基礎(chǔ)上可以完成一些其它初始化的動作,__init__不需要返回值

4. 如果__new__返回一個對象的實例,會隱式調(diào)用__init__

更多關(guān)于Python中__new__和__init__的區(qū)別與聯(lián)系的介紹請查看下面的相關(guān)鏈接

相關(guān)文章

  • django authentication 登錄注冊的實現(xiàn)示例

    django authentication 登錄注冊的實現(xiàn)示例

    本文主要介紹了使用Django內(nèi)置的authentication功能實現(xiàn)用戶注冊和登錄功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Python變量命名規(guī)范的總結(jié)

    Python變量命名規(guī)范的總結(jié)

    在Python編程中,變量命名規(guī)范對于編寫優(yōu)雅和可維護(hù)的代碼至關(guān)重要,本文主要介紹了Python變量命名規(guī)范的總結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python機(jī)器學(xué)習(xí)pytorch交叉熵?fù)p失函數(shù)的深刻理解

    Python機(jī)器學(xué)習(xí)pytorch交叉熵?fù)p失函數(shù)的深刻理解

    這篇文章主要為大家介紹了Python機(jī)器學(xué)習(xí)中對交叉熵?fù)p失函數(shù)的深刻理解,文中作出了詳細(xì)易懂的講解,有需要的朋友可以借鑒參考下希望能夠有所幫助
    2021-10-10
  • Python實現(xiàn)以時間換空間的緩存替換算法

    Python實現(xiàn)以時間換空間的緩存替換算法

    緩存是指可以進(jìn)行高速數(shù)據(jù)交換的存儲器,它先于內(nèi)存與CPU交換數(shù)據(jù),因此速度很快。緩存就是把一些數(shù)據(jù)暫時存放于某些地方,可能是內(nèi)存,也有可能硬盤。下面給大家介紹Python實現(xiàn)以時間換空間的緩存替換算法,需要的朋友參考下
    2016-02-02
  • 在Python開發(fā)環(huán)境中調(diào)用ChatGPT模型詳細(xì)過程

    在Python開發(fā)環(huán)境中調(diào)用ChatGPT模型詳細(xì)過程

    在開發(fā)過程當(dāng)中時常需要使用 ChatGPT 來完成一些任務(wù),但總是使用網(wǎng)頁交互模式去 Web 端訪問 ChatGPT 是很麻煩的,這時候我們可以使用代碼來調(diào)用 ChatGPT 模型,本文將詳細(xì)介紹在 Python 開發(fā)環(huán)境中調(diào)用 ChatGPT 模型過程,,需要的朋友可以參考下
    2023-05-05
  • Python第三方庫之OpenCV庫的實用指南

    Python第三方庫之OpenCV庫的實用指南

    OpenCV(Open Source Computer Vision Library)作為一個強(qiáng)大的計算機(jī)視覺庫,提供了豐富的圖像處理和計算機(jī)視覺功能,本文將帶領(lǐng)讀者使用Python編程語言,通過簡單的代碼示例,初步掌握OpenCV的圖像處理技術(shù),需要的朋友可以參考下
    2024-09-09
  • python實現(xiàn)KNN分類算法

    python實現(xiàn)KNN分類算法

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)KNN分類算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 利用pandas按日期做分組運算的操作

    利用pandas按日期做分組運算的操作

    這篇文章主要介紹了利用pandas按日期做分組運算的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • django如何設(shè)置csrf_token

    django如何設(shè)置csrf_token

    這篇文章主要介紹了django如何設(shè)置csrf_token問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python實現(xiàn)感知機(jī)線性分類模型示例代碼

    python實現(xiàn)感知機(jī)線性分類模型示例代碼

    這篇文章主要給大家介紹了關(guān)于python實現(xiàn)感知機(jī)線性分類模型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評論

北流市| 泰宁县| 高阳县| 鹤岗市| 丰顺县| 塘沽区| 出国| 汝州市| 洞头县| 正阳县| 东乌珠穆沁旗| 阿拉善盟| 康保县| 广安市| 阿拉善右旗| 河源市| 贡觉县| 阿拉尔市| 济源市| 清镇市| 武宣县| 迁安市| 郯城县| 龙里县| 林州市| 金塔县| 镇赉县| 凤翔县| 临夏市| 遂平县| 临潭县| 宜兰县| 宜良县| 龙里县| 迭部县| 西贡区| 延寿县| 京山县| 岑溪市| 古交市| 永和县|