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

python中的__init__ 、__new__、__call__小結(jié)

 更新時間:2014年04月25日 11:59:07   作者:  
這篇文章主要介紹了python中的__init__ 、__new__、__call__小結(jié),需要的朋友可以參考下

1.__new__(cls, *args, **kwargs)  創(chuàng)建對象時調(diào)用,返回當(dāng)前對象的一個實例;注意:這里的第一個參數(shù)是cls即class本身
2.__init__(self, *args, **kwargs) 創(chuàng)建完對象后調(diào)用,對當(dāng)前對象的實例的一些初始化,無返回值,即在調(diào)用__new__之后,根據(jù)返回的實例初始化;注意,這里的第一個參數(shù)是self即對象本身【注意和new的區(qū)別】
3.__call__(self,  *args, **kwargs) 如果類實現(xiàn)了這個方法,相當(dāng)于把這個類型的對象當(dāng)作函數(shù)來使用,相當(dāng)于 重載了括號運算符
 

看具體的例子:

復(fù)制代碼 代碼如下:

class O(object):

    def __init__(self, *args, **kwargs):
        print "init"
        super(O, self).__init__(*args, **kwargs)

    def __new__(cls, *args, **kwargs):
        print "new", cls
        return super(O, cls).__new__(cls, *args, **kwargs)

    def __call__(self,  *args, **kwargs):
        print "call"
      

    oo = O()
    print "________"
    oo() 


打印出來的是:
復(fù)制代碼 代碼如下:

new
init
________
call

比如:Python Singleton(單例模式)實現(xiàn),那我們是不是只是重載一些__new__方法就可以了
復(fù)制代碼 代碼如下:

class Singleton1(object):
    """ 重載new方法"""
    def __new__(cls, *args, **kwargs):
        if not "_instance" in vars(cls):
            cls._instance = super(Singleton1, cls).__new__(cls, *args, **kwargs)
        return cls._instance

可不可以重載__init__方法呢?明顯不可以,因為__init__之前調(diào)用了__new__方法,這時候已經(jīng)生成了一個對象了,沒辦法實現(xiàn)單例模式

相關(guān)文章

  • 簡單了解Python matplotlib線的屬性

    簡單了解Python matplotlib線的屬性

    這篇文章主要介紹了簡單了解Python matplotlib線的屬性,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-06-06
  • windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題

    windows10安裝python依賴報錯can‘t?create?or?remove?files?in?i

    這篇文章主要介紹了windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題及解決方案,具有很好的參考價值,希望對大家有所幫助
    2023-09-09
  • tensorflow-gpu安裝的常見問題及解決方案

    tensorflow-gpu安裝的常見問題及解決方案

    這篇文章主要介紹了tensorflow-gpu安裝的常見問題及解決方案,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧,需要的朋友可以參考下
    2020-01-01
  • Python Excel vlookup函數(shù)實現(xiàn)過程解析

    Python Excel vlookup函數(shù)實現(xiàn)過程解析

    這篇文章主要介紹了Python Excel vlookup函數(shù)實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 詳解python-nmap的安裝與常用方法

    詳解python-nmap的安裝與常用方法

    ??python-nmap??是一個基于??Python??的??nmap??網(wǎng)絡(luò)掃描器接口,它允許用戶通過???Python???腳本輕松地調(diào)用???nmap???的功能,??nmap??是一款功能強大的網(wǎng)絡(luò)掃描和發(fā)現(xiàn)工具,本文給大家介紹python-nmap的安裝與常用方法,需要的朋友可以參考下
    2024-12-12
  • 淺析Python 中的 WSGI 接口和 WSGI 服務(wù)的運行

    淺析Python 中的 WSGI 接口和 WSGI 服務(wù)的運行

    這篇文章主要介紹了Python 中的 WSGI 接口和 WSGI 服務(wù)的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python sklearn中的決策樹模型詳解

    python sklearn中的決策樹模型詳解

    本文主要說明 Python 的 sklearn 庫中的決策樹的常用接口、屬性以及參數(shù)調(diào)優(yōu)說明,需要讀者或多或少了解過sklearn庫和一些基本的機器學(xué)習(xí)知識,感興趣的同學(xué)跟著小編一起來看看吧
    2023-08-08
  • Python存儲或讀取json時如何引入額外的雙引號和轉(zhuǎn)義引號

    Python存儲或讀取json時如何引入額外的雙引號和轉(zhuǎn)義引號

    這篇文章主要介紹了Python存儲或讀取json時如何引入額外的雙引號和轉(zhuǎn)義引號問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 使用Keras建立模型并訓(xùn)練等一系列操作方式

    使用Keras建立模型并訓(xùn)練等一系列操作方式

    這篇文章主要介紹了使用Keras建立模型并訓(xùn)練等一系列操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • pip 錯誤unused-command-line-argument-hard-error-in-future解決辦法

    pip 錯誤unused-command-line-argument-hard-error-in-future解決辦法

    這篇文章主要介紹了Python包管理器pip安裝軟件時出現(xiàn)unused-command-line-argument-hard-error-in-future錯誤的解決辦法,需要的朋友可以參考下
    2014-06-06

最新評論

通海县| 南京市| 治多县| 石台县| 旺苍县| 马山县| 澎湖县| 安丘市| 乐业县| 宝应县| 临澧县| 基隆市| 新绛县| 石城县| 广昌县| 林芝县| 白朗县| 台湾省| 合江县| 通山县| 邵阳市| 周至县| 建平县| 津南区| 兴城市| 垫江县| 永城市| 临安市| 翁牛特旗| 唐河县| 天长市| 乌拉特后旗| 沾化县| 承德县| 洪雅县| 高安市| 丰宁| 当阳市| 阜南县| 麻城市| 高州市|