python - 单例模式

Posted UnixFBI 运维特工

tags:

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

单例模式:

class Foo:
    instance = None
    def __init__(self,name):
        self.name = name

    @classmethod
    def get_instance(cls):
        #cls 类名
        if cls.instance:
            return cls.instance
        else:
            obj = cls(google)
            cls.instance = obj
            return obj
obj1 = Foo.get_instance()
print(obj1)
obj2 = Foo.get_instance()
print(obj2)

out:

<__main__.Foo object at 0x00000000007D4278>
<__main__.Foo object at 0x00000000007D4278>

 

由上可知,obj1和obj2 内存地址都是一样的

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

Python 单例设计模式

Python单例

一日一技:Python 下面最简单的单例模式写法

Python面向对象之单例模式

常用代码片段

常用代码片段