单例之装饰器
# __author: "ZXYang"
# date: 2020/12/13
def single(cls):
dic = {}
def wrapper(*args, **kwargs):
if dic.get(cls):
return dic[cls]
else:
dic[cls] = cls(*args, **kwargs)
return dic[cls]
return wrapper
@single
class Dog(object):
pass
dog1 = Dog()
dog2 = Dog()
dog3 = Dog()
print(id(dog1), id(dog2), id(dog3))