单例设计模式:
不管你怎么创建对象 得到都是一个
实现: 装饰器的方式
def outer(cls):
instance = None
def inner(*args, **kwargs):
nonlocal instance
if instance == None:
instance = cls(*args, **kwargs)
return instance
return inner
__new__
来实现
class SQLTool:
__instance = None
def __new__(cls, *args, **kwargs):
print("new")
if cls.__instance == None:
cls.__instance = object.__new__(cls)
return cls.__instance
else:
return cls.__instance