Python单例模式

Posted

tags:

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

1、单例模式介绍

单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时, 单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个 全局对象,这样有利于我们协调系统整体的行为。 --以上来自维基百科

从定义上来看,这会是一个很有用的避免冲突的设计模式,相当于把所有同样资源的调用 都交给了一个资源代理。那么 Python 中该如何实现这一模式呢?

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author: enzhi.wang
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("alex")
            cls.instance = obj
            return obj


obj1 = Foo.get_instance()
print(obj1)
obj2 = Foo.get_instance()
print(obj2)

以上代码的执行结果为:

C:\Python3.5\python.exe C:/Users/root/PycharmProjects/S14/面向对象/单例模式.py
<__main__.Foo object at 0x0000000000A92588>
<__main__.Foo object at 0x0000000000A92588>

 

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

Python 单例设计模式

Python单例

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

Python面向对象之单例模式

常用代码片段

常用代码片段