单例之装饰器

# __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))
posted @ 2020-12-13 18:21  zxy_ang  阅读(71)  评论(0)    收藏  举报