python-单例模式

单例模式

在Python中创建的多个对象,只保留一个具体的实例叫做单例模式

下面举一个小栗子:

创建一个“狗”类对象,在类的下面定义一个私有的类属性,默认给它赋值“None”,重写一个“new”方法,括号内一定要传一个“cls”,代表着调用我当前位置父类的属性;如果不写的话需要把类的名称传进来。


image.png

进行判断语句环节:先判断调用的类属性等等于“None”,后一行写一个“return”返回类属性,接着把重写的“new”方法赋值给类属性,后面我写的是“super”,如果不写的话无法重写,或者可以在定义的类中写一个“object”,把这个object写进“new”方法,直接“.”加上“new”方法。
“return”返回类属性。判断语句还要写一个否则直接“return”返回类属性


image.png

创建两个对象,分别打印出id号。


image.png

发现两个地址都是一样的,也就是和Windows里的文件夹或文件操作一样,当你打开两个窗口,在其中一个修改,另外一个也随之而变化。地址都是一样的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式(Singleton Pattern)是一种常用的软件设计模式,它用来确保一个类只有一个实例,并提供一个全...
    四明羽客阅读 4,392评论 1 3
  • 本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是...
    geekpy阅读 19,840评论 6 36
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,143评论 0 13
  • 单例模式 Singleton 网上搜索python 单例模式,实现方式大致有一下几种方式: 以模块导入的方式 使用...
    snailpy阅读 4,177评论 0 7
  • 本博文介绍了MongoDB,并详细指引读者在Ubuntu下MongoDB的安装和使用。本教程在Ubuntu14.0...
    敲代码的令狐葱阅读 10,468评论 1 4