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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠撸在线播放 | 日本欧美强乱视频在线 | free性丰满hd性欧美厨房 | 国产精品永久免费视频 | h版小说| 精品国产综合区久久久久久 | 人人爽人人香蕉 | 欧美交换乱理伦片120秒 | 激情乱文| 日韩成人一级 | 日韩视频一区二区三区 | 美女全身无遮挡 | 兽皇日本 | 出a级黑粗大硬长爽猛视频 吃胸膜奶视频456 | 色噜噜亚洲男人的天堂www | 精品免费视在线视频观看 | 艹处女| 欧美三级不卡视频 | 日本最大的黄色网站 | 国产草草 | 亚洲精品一区二区三区在线播放 | 黑帮大佬与我的365天2标清中文 | 亚洲日本中文字幕天堂网 | 福利国模私拍视频在线观看 | 天天操天天干天天 | 亚洲www在线 | 亚洲精品国产精品麻豆99 | 五月天精品视频在线观看 | 亚洲AV无码专区国产乱码网站 | 黑人chinese女人 | 草大逼| 日本漫画工囗全彩番在线 | 嫩草影院精品视频在线观看 | 91精品国产综合久久消防器材 | 国产一区二区在线观看视频 | 双性np肉文 | 精品综合久久久久久8888 | 爆操| 网友自拍咪咪爱 | 欧美国产日本精品一区二区三区 | 成人123 |