python ---单例(Singleton)
生活随笔
收集整理的這篇文章主要介紹了
python ---单例(Singleton)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
'''
單例(Singleton)
單例是一種 設計模式 ,應用該模式的類只會生成一個實例。
單例模式保證了在程序的不同位置都 可以且僅可以取到同一個對象實例 :如果實例不存在,會創(chuàng)建一個實例;如果已存在就會返回這個實例。
因為單例是一個類,所以你也可以為其提供相應的操作方法,以便于對這個實例進行管理。
舉個例子來說,比如你開發(fā)一款游戲軟件,游戲中需要有“場景管理器”這樣一種東西,用來管理游戲場景的切換、資源載入、網(wǎng)絡連接等等任務。
這個管理器需要有多種方法和屬性,在代碼中很多地方會被調(diào)用,且被調(diào)用的必須是同一個管理器,否則既容易產(chǎn)生沖突,也會浪費資源。
這種情況下,單例模式就是一個很好的實現(xiàn)方法。
單例模式廣泛應用于各種開發(fā)場景,對于開發(fā)者而言是必須掌握的知識點,同時在很多面試中,也是常見問題。
'''
?
class Person:__instance = Nonedef __new__(cls, *args, **kwargs):if cls.__instance is None:cls.__instance = object.__new__(cls, *args, **kwargs)return cls.__instancedef __init__(self,a):print('---->init')self.a = ap1 = Person(1) p2 = Person(1) # p3 = Person()print(id(p1)) print(id(p2)) print(id(p3))總結(jié)
以上是生活随笔為你收集整理的python ---单例(Singleton)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python是非常优美的语言,那到底如何
- 下一篇: PHP 导出excel合并相同数据单元格