单例设计模式
#单例设计模式
class DanLi:
#成员属性
#用于记录当前类是否实例化过对象
obj = None
#魔术方法__new__
def __new__(cls):
#判断是否实例化过对象
if cls.obj == None:# 没有实例化过
#制作对象
result = object.__new__(cls)
#记录对象(把制作的对象存到类中)
cls.obj = result
#返回对象
return result
else:#实例化过对象
return cls.obj
dl1 = DanLi()
print(dl1)
dl2 = DanLi()
print(dl2)
class DanLi:
#成员属性
#用于记录当前类是否实例化过对象
obj = None
#魔术方法__new__
def __new__(cls):
#判断是否实例化过对象
if cls.obj == None:# 没有实例化过
#制作对象
result = object.__new__(cls)
#记录对象(把制作的对象存到类中)
cls.obj = result
#返回对象
return result
else:#实例化过对象
return cls.obj
dl1 = DanLi()
print(dl1)
dl2 = DanLi()
print(dl2)