单例模式:只有一个对象的模式(比如只需要一个实例,或所有的实例都是同一个内存地址)
创建时可以选择复写__new__来实现功能
class Sun(object):
ret=None
def __new__(cls, *args, **kwargs):
if not cls.ret:
cls.ret=super().__new__(cls)
return cls.ret
else:
return cls.ret
#return cls.ret '''else这两行还可以这样写'''
sun1=Sun()
sun2=Sun()
print(id(sun1))
print(id(sun2))
打印出来的实例对象地址是相同的。
这就是一个简单的单例模式了