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

python不同版本的_new_不同點總結(jié)

 更新時間:2020年12月09日 15:10:08   作者:小妮淺淺  
在本篇內(nèi)容里小編給大家整理了一篇關(guān)于python不同版本的_new_不同點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

我們都知道python的版本不同,在使用的時候就有所區(qū)別。鑒于我們推薦小伙伴們選擇python3版本,所以這方面的區(qū)別了解的不是很多。就拿_new_來說,在python2和3中的寫法是不一樣的,之前有接觸_new_的小伙伴想必沒有注意到這個問題。接下來講講new的基本用法,然后就python不同版本中_new_的區(qū)別帶來詳解。

new方法接受的參數(shù)雖然也是和init一樣,但init是在類實例創(chuàng)建之后調(diào)用,而 new方法正是創(chuàng)建這個類實例的方法。

class Person(object):
  """Silly Person"""
  def __new__(cls, name, age):
    print '__new__ called.'
    return super(Person, cls).__new__(cls, name, age)
  def __init__(self, name, age):
    print '__init__ called.'
    self.name = name
    self.age = age
  def __str__(self):
    return '<Person: %s(%s)>' % (self.name, self.age)
if __name__ == '__main__':
  piglei = Person('piglei', 24)
print piglei

Python3和 Python2中__new__使用不同

Python3的寫法

class Singleton(object):
  def __new__(cls,*args, **kwargs):
    if not hasattr(cls,'_inst'):
      print(cls)
      cls._inst = super(Singleton, cls).__new__(cls)
    return cls._inst

如果Python3的寫法跟Python2寫法一樣,那么倒數(shù)第二行會報錯

"TypeError: object() takes no parameters"

根據(jù)上面的運行結(jié)果我們可以發(fā)現(xiàn),在python3中強(qiáng)行使用python2的寫法是不可行的。

Python __new__()知識點擴(kuò)充

__new__() 是一種負(fù)責(zé)創(chuàng)建類實例的靜態(tài)方法,它無需使用 staticmethod 裝飾器修飾,且該方法會優(yōu)先 __init__() 初始化方法被調(diào)用。

一般情況下,覆寫 __new__() 的實現(xiàn)將會使用合適的參數(shù)調(diào)用其超類的 super().__new__(),并在返回之前修改實例。例如:

class demoClass:
  instances_created = 0
  def __new__(cls,*args,**kwargs):
    print("__new__():",cls,args,kwargs)
    instance = super().__new__(cls)
    instance.number = cls.instances_created
    cls.instances_created += 1
    return instance
  def __init__(self,attribute):
    print("__init__():",self,attribute)
    self.attribute = attribute
test1 = demoClass("abc")
test2 = demoClass("xyz")
print(test1.number,test1.instances_created)
print(test2.number,test2.instances_created)

輸出結(jié)果為

__new__(): <class '__main__.demoClass'> ('abc',) {}
__init__(): <__main__.demoClass object at 0x0000026FC0DF8080> abc
__new__(): <class '__main__.demoClass'> ('xyz',) {}
__init__(): <__main__.demoClass object at 0x0000026FC0DED358> xyz
0 2
1 2

到此這篇關(guān)于python不同版本的_new_不同點總結(jié)的文章就介紹到這了,更多相關(guān)python不同版本中的_new_有何不同內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python模擬練習(xí)題總結(jié)(附答案)

    python模擬練習(xí)題總結(jié)(附答案)

    這篇文章主要給大家介紹了關(guān)于python模擬練習(xí)題的相關(guān)資料,文中涉及質(zhì)因數(shù)分解、開根變換、立方體拼接、日期計算、按位異或、停車場收費、整數(shù)操作、減法運算、相鄰數(shù)之和、以及最長勾子序列的尋找,每題都有具體的輸入輸出示例和代碼計算過程,需要的朋友可以參考下
    2024-11-11
  • 分享unittest單元測試框架中幾種常用的用例加載方法

    分享unittest單元測試框架中幾種常用的用例加載方法

    這篇文章主要介紹了unittest單元測試框架中常用的幾種用例加載方法,幫助大家更好的理解和使用python的unittest測試模塊,感興趣的朋友可以了解下
    2020-12-12
  • Python模擬脈沖星偽信號頻率實例代碼

    Python模擬脈沖星偽信號頻率實例代碼

    這篇文章主要介紹了Python模擬脈沖星偽信號頻率實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python numpy  數(shù)組的向量化運算操作方法

    Python numpy  數(shù)組的向量化運算操作方法

    這篇文章主要介紹了Python numpy數(shù)組的向量化運算操作方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Python實現(xiàn)帶下標(biāo)索引的遍歷操作示例

    Python實現(xiàn)帶下標(biāo)索引的遍歷操作示例

    這篇文章主要介紹了Python實現(xiàn)帶下標(biāo)索引的遍歷操作,結(jié)合具體實例形式分析了2種帶索引的遍歷操作實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-05-05
  • python學(xué)習(xí)將數(shù)據(jù)寫入文件并保存方法

    python學(xué)習(xí)將數(shù)據(jù)寫入文件并保存方法

    在本篇文章里小編給大家分享的是關(guān)于python將數(shù)據(jù)寫入文件并保存的實例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 淺談Python任務(wù)自動化工具Tox基本用法

    淺談Python任務(wù)自動化工具Tox基本用法

    這篇文章主要介紹了淺談Python任務(wù)自動化工具Tox,tox 是一個管理測試虛擬環(huán)境的命令行工具, 它已存在多年且廣被開發(fā)者們使用,對Python任務(wù)自動化工具Tox基本用法感興趣的朋友一起看看吧
    2022-06-06
  • Python內(nèi)建函數(shù)之raw_input()與input()代碼解析

    Python內(nèi)建函數(shù)之raw_input()與input()代碼解析

    這篇文章主要介紹了Python內(nèi)建函數(shù)之raw_input()與input()代碼解析,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • Python2.6版本pip安裝步驟解析

    Python2.6版本pip安裝步驟解析

    這篇文章主要介紹了Python2.6版本pip安裝步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 一文詳解Python中哈希表的使用

    一文詳解Python中哈希表的使用

    哈希表或稱為散列表,是一種常見的、使用頻率非常高的數(shù)據(jù)存儲方案。本文將站在開發(fā)者的角度,帶著大家一起探究哈希的世界,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05

最新評論

密云县| 祁东县| 台安县| 尼玛县| 象州县| 墨玉县| 南通市| 林口县| 明光市| 远安县| 休宁县| 左云县| 建水县| 若羌县| 涞源县| 临城县| 石渠县| 衡东县| 锡林浩特市| 洛川县| 乌鲁木齐市| 鄂尔多斯市| 乌兰县| 黄大仙区| 方正县| 沽源县| 四会市| 锡林浩特市| 柏乡县| 凭祥市| 曲阳县| 连城县| 四川省| 阿克苏市| 江口县| 新营市| 山阴县| 连江县| 普定县| 六盘水市| 涞源县|