1. 程式人生 > >Python——設計模式——單例模式

Python——設計模式——單例模式

一個類始終只有一個例項

當你第一次例項化這個類的時候,就建立一個例項化得物件

當你之後再來例項化的時候,就用之前建立的物件

class A:
    __instance = False
    def __ini__(self,name,age):
        self.name = name
        self.age = age
    def __new__(cls,*args,*kwargs):
        if cls.__instance:
            return cls.__instance
        cls.__instance = object.__new__
(A,*args,*kwargs) return cls.__instance egon = A('egg',38) nezha = A('nazha',25) #此時nezha 覆蓋了 egon

__eq__

class A:    
    def __ini__(self,name):
        self.name = name
        
    def __eq__(self,other):
        if self.name = other.name:
            return True
        
else: retrun False ob1 = A('egg') ob2 = A('egg') print (ob1 == ob2) #結果 True

__hash__ :  hash()方法實現

# set 依賴物件的hash eq方法