1. 程式人生 > >Python中的單例

Python中的單例

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中的單例