您好,登錄后才能下訂單哦!
這篇文章主要介紹python中怎么實(shí)現(xiàn)初始化執(zhí)行一次,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
1、定義類屬性init_flag標(biāo)記是否已經(jīng)初始化。
初始值為False。
2、在__init__方法中判斷init_flag。
如果是False,則進(jìn)行初始化。
3、將init_flag設(shè)置為True。
當(dāng)再次自動調(diào)用__init__方法時(shí),初始化動作將不再執(zhí)行。
實(shí)例
class MusicPlayer(object): # 記錄第一個(gè)被創(chuàng)建對象的引用 instance = None # 記錄是否執(zhí)行過初始化動作 init_flag = False def __new__(cls, *args, **kwargs): # 1. 判斷類屬性是否是空對象 if cls.instance is None: # 2. 調(diào)用父類的方法,為第一個(gè)對象分配空間 cls.instance = super().__new__(cls) # 3. 返回類屬性保存的對象引用 return cls.instance def __init__(self): if not MusicPlayer.init_flag: print("初始化音樂播放器") MusicPlayer.init_flag = True # 創(chuàng)建多個(gè)對象 player1 = MusicPlayer() print(player1) player2 = MusicPlayer() print(player2)
以上是“python中怎么實(shí)現(xiàn)初始化執(zhí)行一次”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。