python中的單例

2021-08-19 10:29:56 字數 1283 閱讀 9430

class

practice

( object

): cls_flag =

false

def

__new__

( cls

):if

cls.cls_flag ==

false:

cls.cls_flag =

object

. __new__

( cls

) #

注意 object.__new__(cls)

括號中的

cls,將類傳到父類

object

return

cls.cls_flag

def

__init__

( self

): print( '

執行了init'

) a = practice() b = practice()

print

(a)

print

(b)

class

practice1

( object

):def

__init__

( self

): print

( '66'

) a1 = practice1() a2 = practice1()

print

( id

(a1))

print

( id

(a2))

結果:

執行了

init

執行了 init

<__main__.practice

object

at 0x000002b32ce99a58

>

<__main__.practice

object

at 0x000002b32ce99a58

>

66 66

2968575908496

2968575908664

單例中無論建立幾個物件,都是對同乙個記憶體物件進行操作的。

!!! 

注意:單例必須返回乙個當前類的new物件

python中的單例

單例模式是一種常用的軟體設計模式,核心結構是只包含乙個被稱為單例類的特殊類,通過單例模式可以保證系統中只有乙個例項而且該例項易於外界訪問,從而控制例項數量來保證系統資源的節省。可以用於列印任務,以及類中例項只有乙個的情況下。單例模式設計的類只能例項,單例的四種方法要了解,類的call方法要能默寫。1...

python 單例 Python單例

01.單例設計模式 設計模式 設計模式 是 前人工作的總結和提煉,通常,被人們廣泛流傳的設計模式都是針對 某一特定問題 的成熟的解決方案 使用 設計模式 是為了可重用 讓 更容易被他人理解 保證 可靠性 單例設計模式 目的 讓 類 建立的物件,在系統中 只有 唯一的乙個例項 每一次執行 類名 返回的...

python中的單例模式

單例模式 顧名思義是只有乙個例項記憶體位址,根據意思理解就是不論建立多少個例項物件,都只有乙個記憶體位址,單例模式是基於類的,是例項類物件,有別與 init init 是例項化物件.如下 domeclass single instance object instance none def init ...