新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python如何解決初始化執(zhí)行次數(shù)
解決方法

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)新干,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
1、定義一個(gè)類屬性init_flag標(biāo)記是否 執(zhí)行過初始化動(dòng)作,初始值為False。
2、判斷init_flag,F(xiàn)alse執(zhí)行初始化。
然后將 init_flag設(shè)置為True。
3、再次自動(dòng)調(diào)用 __init__ 方法。
初始化動(dòng)作就不會(huì)被再次執(zhí)行 了
實(shí)例
class MusicPlayer(object):
# 記錄第一個(gè)被創(chuàng)建對(duì)象的引用
instance = None
# 記錄是否執(zhí)行過初始化動(dòng)作
init_flag = False
def __new__(cls, *args, **kwargs):
# 1. 判斷類屬性是否是空對(duì)象
if cls.instance is None:
# 2. 調(diào)用父類的方法,為第一個(gè)對(duì)象分配空間
cls.instance = super().__new__(cls)
# 3. 返回類屬性保存的對(duì)象引用
return cls.instance
def __init__(self):
if not MusicPlayer.init_flag:
print("初始化音樂播放器")
MusicPlayer.init_flag = True
# 創(chuàng)建多個(gè)對(duì)象
player1 = MusicPlayer()
print(player1)
player2 = MusicPlayer()
print(player2)
以上就是python初始化執(zhí)行次數(shù)的解決,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:python如何解決初始化執(zhí)行次數(shù)
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/dpjpgoo.html


咨詢
建站咨詢
