Python——設計模式——單例模式
阿新 • • 發佈:2018-11-12
一個類始終只有一個例項
當你第一次例項化這個類的時候,就建立一個例項化得物件
當你之後再來例項化的時候,就用之前建立的物件
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 Trueelse: retrun False ob1 = A('egg') ob2 = A('egg') print (ob1 == ob2) #結果 True
__hash__ : hash()方法實現
# set 依賴物件的hash eq方法