1、通过闭包函数实现单例模式:
# 使用闭包函数实现单例 def single(cls,*args,**kwargs): instance = {} def get_instance(): if cls not in instance: instance[cls] = cls(*args,**kwargs) return instance[cls] return get_instance @single class Apple: pass a = Apple() b = Apple() print(id(a)) print(id(b))
class Single: def __new__(cls,**kwargs): if not hasattr(cls,'_instance'): cls._instance = super(Single,cls).__new__(cls) return cls._instance s1 = Single() s2 = Single() print(id(s1)) print(id(s2))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。