新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python如何實現(xiàn)初始化執(zhí)行一次
1、定義類屬性init_flag標(biāo)記是否已經(jīng)初始化。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了金溪免費(fèi)建站歡迎大家使用!
初始值為False。
2、在__init__方法中判斷init_flag。如果是False,則進(jìn)行初始化。
3、將init_flag設(shè)置為True。
當(dāng)再次自動調(diào)用__init__方法時,初始化動作將不再執(zhí)行。
實例
class MusicPlayer(object):
# 記錄第一個被創(chuàng)建對象的引用
instance = None
# 記錄是否執(zhí)行過初始化動作
init_flag = False
def __new__(cls, *args, **kwargs):
# 1. 判斷類屬性是否是空對象
if cls.instance is None:
# 2. 調(diào)用父類的方法,為第一個對象分配空間
cls.instance = super().__new__(cls)
# 3. 返回類屬性保存的對象引用
return cls.instance
def __init__(self):
if not MusicPlayer.init_flag:
print("初始化音樂播放器")
MusicPlayer.init_flag = True
# 創(chuàng)建多個對象
player1 = MusicPlayer()
print(player1)
player2 = MusicPlayer()
print(player2)
以上就是python實現(xiàn)初始化執(zhí)行一次的方法,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
文章標(biāo)題:創(chuàng)新互聯(lián)Python教程:python如何實現(xiàn)初始化執(zhí)行一次
URL鏈接:http://www.dlmjj.cn/article/dpcchos.html


咨詢
建站咨詢
