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方法

 

posted @ 2018-10-15 11:11  澄心元素  阅读(139)  评论(0编辑  收藏  举报