Python設計模式

Python設計模式:持續更新中

上一篇文章: Python模塊
下一篇文章: Python異常處理

一、單例模式

實例:segmentfault

class Singleton(object):
    #私有類屬性,存儲惟一的實例對象
    __instance=None
    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
            #若是沒有實例化,就去實例化
            cls.__instance=super().__new__(cls)
        return cls.__instance

    def __init__(self,name):
        print("__init__方法調用了")
        self.name=name


a=Singleton("aa")
b=Singleton("bb")

print(id(a))
print(id(b))

a.name="Mark"
print(b.name)

結果:設計模式

__init__方法調用了
__init__方法調用了
4472884976
4472884976
Mark
相關文章
相關標籤/搜索