一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python__new__內置靜態方法使用解析

python__new__內置靜態方法使用解析

2020-05-06 09:45西西嘛呦 Python

這篇文章主要介紹了python__new__內置靜態方法使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了python__new__內置靜態方法使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

使用類名()創建對象時,python解釋器會調用__new__方法來為對象分配空間。__new__是一個由object基類提供的內置靜態方法,主要作用有兩個:

(1)在內存中為對象分配空間

(2)返回對象的引用

python的解釋器在獲得對象的引用之后,將引用作為第一個參數,傳遞給__intit__方法。

重寫__new__方法的代碼非常固定:重寫__new__方法一定要return super().__new__(cls),否則python解釋器會得不到分配了空間的對象引用,就不會調用對象的初始化方法。

?
1
2
3
4
5
6
7
8
class MusicPlayer:
  def __new__(cls, *args, **kwargs):
    print("創建對象,分配空間")
 
  def __init__(self):
    print("播放器初始化")
player = MusicPlayer()
print(player)

輸出:

python__new__內置靜態方法使用解析

需要返回 return super().__new__(cls)

python所有類都有一個基類object,在object中默認的__new__方法已經封裝了為對象分配空間的動作。

?
1
2
3
4
5
6
7
8
9
10
class MusicPlayer(object):
  def __new__(cls, *args, **kwargs):
    print("創建對象,分配空間")
    instance = super().__new__(cls)
    return instance
 
  def __init__(self):
    print("播放器初始化")
player = MusicPlayer()
print(player)

輸出:

python__new__內置靜態方法使用解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/xiximayou/p/12144914.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩免费高清完整版 | sedog在线长片| 免费观看欧美性一级 | 艹的好爽 | 日韩不卡一区二区三区 | 国产一区二区三区日韩 | 青草色视频| 爽新片xxxxxxx | 国产精品免费一级在线观看 | 日本阿v精品视频在线观看 日本xxx片免费高清在线 | 视频久久 | 把内裤拔到一边高h1v1 | 欧美成人中文字幕在线看 | 日韩欧美一区二区不卡 | 国产美女在线一区二区三区 | 欧美乱妇高清无乱码视频在线 | 免费视频精品一区二区三区 | 青青草一区二区免费精品 | 美女插插视频 | 嫩草影院永久在线播放 | 全肉np巨肉一女np高h双龙 | 久久亚洲精品AV无码四区 | 国产精品视频第一区二区 | 男男gaygays18中国 | 美女扒下内裤让男人桶的图片 | fistingvideos头交尿眼 | 国产大片视频免费观看 | 精品国产乱码久久久久久软件 | 色婷婷激婷婷深爱五月老司机 | 亚洲国产成人久久综合一区77 | 5g影院天天影院天天爽影院网站 | 人体欣赏孕妇季玥图片 | 色呦呦在线免费观看 | 国产精品制服丝袜白丝www | 视频免费| 欧美一区二区不卡视频 | 日韩毛片在线 | 久青草国产97香蕉在线视频 | 国产精品久久久久久久久ktv | 91久久青青青国产免费 | 四虎2020紧急免费入口 |