python(6)-------单例设计模

2019-04-14 16:08发布

#1 实现一个类只能实例化一个对象(单例设计模似)
class ShiLi:
    #成员属性
    #用于记录当前类是否实例化对象
    obj = None
    #魔术方法 __new__
    def __new__(cls):
        #判断是否实例化过
        if cls.obj == None:
            #制作对象
            result = object.__new__(cls)
            #记录对象(把制作的对象存到类中)
            cls.obj = result
            #返回对象
            return result
        else:#实例化过对象
            return cls.obj
#实例化对象
sl1 = ShiLi()
print(hf1) #实例化对象
sl2 = ShiLi()
print(hf2)