A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面试题:装饰器实现单例

[Python] 纯文本查看 复制代码
def single(cls):
    instance = dict()
    def wrapped_cls(*args, **kwargs):
        if cls not in instance:
            instance[cls] = cls(*args, **kwargs)
        return cls
    return wrapped_cls


@single
class MyClass(object):
    pass


if __name__ == '__main__':
    t1 = MyClass()
    t2 = MyClass()
    print(id(t1))
    print(id(t2))


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马