Python設計模式 單例模式

2021-10-04 08:59:18 字數 1107 閱讀 7895

單例模式:確保乙個類只有乙個例項,並且提供乙個訪問它的全域性方法

class

singleton

(object):

__instance =

none

__isfirstinit =

false\

def__new__

(cls, name):if

not cls.__instance:

singleton.__instance =

super()

.__new__(cls)

return cls.__instance

def__init__

(self,name):if

not self.__isfirstinit:

self.__name = name

singleton.__isfirstinit =

true

;def

getname

(self)

:return self.__name

deftest()

: tom = singleton(

"tom"

) kate = singleton(

"kate"

)print

(tom.getname())

print

(kate.getname())

print

("id(tom)",id

(tom)

)print

("id(kate)",id

(kate)

)test(

)

執行結果:

tom

tomid(tom) 900466049280

id(kate) 900466049280

__new __負責建立物件, __init __負責物件的初始化

__new __是類的方法,通過類名例項化物件的時候自動呼叫, 建立乙個例項後返回這個例項物件,並且將其傳遞給__init __ 方法中的self引數。 __init __ 是物件方法,在每一次例項化物件之後呼叫。

aaa

python設計模式 單例模式

一 什麼是單例模式單例模式 singleton pattern 是一種常用的軟體設計模式,該模式的主要目的是確保某乙個類只有乙個例項存在。當你希望在整個系統中,某個類只能出現乙個例項時,單例物件就能派上用場。二 實現單例的方法 三 模組python 模組在第一次匯入時,會生成 pyc 檔案,當第二次...

python設計模式 單例模式

一 什麼是單例模式 單例模式 singleton pattern 是一種常用的軟體設計模式,該模式的主要目的是確保某乙個類只有乙個例項存在。當你希望在整個系統中,某個類只能出現乙個例項時,單例物件就能派上用場。二 實現單例的方法 三 模組 python 模組在第一次匯入時,會生成 pyc 檔案,當第...

python設計模式 單例模式

的設計模式共有25種,設計模式其實是 無關的。其目的是基於oop的思想,不同應用場景應用不同的設計模式,從而達到簡化 利於擴充套件 提示性能等目的。本文簡述python實現的單例模式場景。簡而言之,單例模式的應用場景是所有例項物件封裝的資料都相同的場景。在這樣的場景下應用單例模式可以減少重複建立物件...