通過(guò)類方法和元類實(shí)現(xiàn)的單例模式,屬性默認(rèn)的值為第一個(gè)對(duì)象傳的值。通過(guò)魔法方法new實(shí)現(xiàn)的單例模式,屬性默認(rèn)的值為最后一個(gè)對(duì)象傳的值。
![]() ![]() 學(xué)習(xí)之星
|
彼岸花渡彼岸魂
展開
|
![]() ![]() 學(xué)習(xí)之星
|
彼岸花渡彼岸魂
展開
老師的代碼寫得不對(duì),如果這樣寫后續(xù)實(shí)例化對(duì)象.name屬性,它的值永遠(yuǎn)是第一次實(shí)例化對(duì)象的值,而不是最新實(shí)例化對(duì)象的name屬性值。應(yīng)該在if cls._instance: 判斷語(yǔ)句中加入 cls._instance.__init__(*args, **kwargs);這樣就可以不用再創(chuàng)建空對(duì)象,而是直接調(diào)用對(duì)象的__init__方法給name屬性重新賦最新的值,從而實(shí)現(xiàn)單例模式。 |
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。