单例模式

Posted wt7018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。

一、基于__new__

class Single:
    _instance = None

    def __new__(cls, *args, **kwargs):
        if not cls._instance:
            cls._instance = super(Single, cls).__new__(cls, *args, **kwargs)
        return cls._instance


class Demon(Single):

    def foo(self):
        print("Hi")


d1 = Demon()
d2 = Demon()
print(id(d1))  # 2110545800776
print(id(d2))  # 2110545800776

二、基于模块

1、重点:一个文件在一个项目中只加载一次

 

以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章

单例模式(单例设计模式)详解

Java模式设计之单例模式(二)

单例模式(饿汉式单例模式与懒汉式单例模式)

单例模式

单例模式

设计模式之单例模式