python ---单例(Singleton)
生活随笔
收集整理的這篇文章主要介紹了
python ---单例(Singleton)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
'''
單例(Singleton)
單例是一種 設計模式 ,應用該模式的類只會生成一個實例。
單例模式保證了在程序的不同位置都 可以且僅可以取到同一個對象實例 :如果實例不存在,會創建一個實例;如果已存在就會返回這個實例。
因為單例是一個類,所以你也可以為其提供相應的操作方法,以便于對這個實例進行管理。
舉個例子來說,比如你開發一款游戲軟件,游戲中需要有“場景管理器”這樣一種東西,用來管理游戲場景的切換、資源載入、網絡連接等等任務。
這個管理器需要有多種方法和屬性,在代碼中很多地方會被調用,且被調用的必須是同一個管理器,否則既容易產生沖突,也會浪費資源。
這種情況下,單例模式就是一個很好的實現方法。
單例模式廣泛應用于各種開發場景,對于開發者而言是必須掌握的知識點,同時在很多面試中,也是常見問題。
'''
?
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))總結
以上是生活随笔為你收集整理的python ---单例(Singleton)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python是非常优美的语言,那到底如何
- 下一篇: python编程中的if __name_