1. 程式人生 > 其它 >2020-12-06

2020-12-06

python單例以及重寫方法__new__()

單例設計模式
設計模式是前人工作的總結和提煉。
使用設計模式是為了可重用程式碼,讓程式碼更容易的被他人列、保證程式碼可靠性
單例設計模式
目的:讓類建立的物件,在系統中只有唯一的一個案例
每一次執行 類名()的物件,記憶體地址是相同的

02.__new__方法

使用類名()建立物件 首先呼叫__new__方法為物件分配空間
__new__是由一個有obje基類提供的內建靜態方法,主要作用有:
#1.在記憶體中為物件分配空間
02.返回物件的引用
重寫__new__方法的程式碼非常固定
重寫 __new__一定要return super().new

(cls)

class MusciPlayer(object):
    # 重寫方法
    def __new__(cls, *args, **kwargs):
        # 01.建立物件時,new方法會自動呼叫
        print("建立物件,分配空間")
        # 02.為物件分配空間
        instance = super().__new__(cls)
        # 03.返回物件的引用
        return  instance
    def __init__(self):
        print("播放器初始化"
) # 建立播放器物件 player = MusciPlayer() print(player)