Python中的單例

單例:是指創建對象時,在同一個類中只能訪問同一個內存地址,
作用:單例可以實現不通模塊之間的數據共享
#定義單列類
class Singleton(object):
#定義類屬性保存創建對象結果
singleton = None
#是否第一次初始化
is_first = False
def new(cls, *args, **kwargs):
#判斷類屬性是否爲None,非空表示要創建對象
if not cls.singleton:
#保存創建對象
cls.
singleton = object.new(cls)
#對象創建以後以及第一次創建都需要把結果返回
return cls.singleton
def
init(self, name, age):
#判斷是否是第一次進行初始化,不是第一次,則不再初始化
#一般我們只需要對
new進行判斷,確定每次創建指向的內存地址不變
if not self.
class.is_first:
self.name = name
self.age = age
#初始化完成,設置成已經初始化狀態
self.class.__is_first = True

代碼運行結果如下:
Python中的單例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章