首页 > 代码库 > Python单例模式

Python单例模式

1、单例模式介绍

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

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

#!/usr/bin/env python# _*_ coding:utf-8 _*_# Author: enzhi.wangclass 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 objobj1 = 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单例模式