Python 的单例模式

单例模式(Singleton)是一种程序设计模式,它保证在程序中,应用该模式的类只有一个实例。
Python 其实没有什么必要用 Singleton,至少我没有用到过。但是有必要记住这种设计模式,以防万一。
它的实现并不复杂:

class Singleton:
    __instance = None

    def __new__(cls, *args, **kwargs):
        if cls.__instance is None:
            cls.__instance = super().__new__(cls)
        return cls.__instance

这样一来,Singleton() 对象及其子类的对象都是唯一的实例。
下面的代码应该返回 True,以及一模一样的 id 值。

s1 = Singleton()
s2 = Singleton()

print(s1 == s2)
print(id(s1), id(s2))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,777评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,282评论 19 139
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,339评论 0 10
  • 不要再指望减肥了!比如:吃饱了才有力气减肥!╮(╯╰)╭
    WR月光女神阅读 803评论 0 0
  • 这本书让我想起了一个故事。 在一座小岛上,生活着一群英国人和法国人。他们生活得很和谐,经常到对方家串门,农忙的时候...
    观止ir阅读 1,508评论 1 3

友情链接更多精彩内容