`
东边日出西边雨
  • 浏览: 262687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python中的单例模式

 
阅读更多

在网上看了半天python的单例模式,有好几种方法,但是其中一种让我感觉很舒服,是这样的:

 

用装饰器实现的单例模式:

 

def singleton(cls):
        instances = {}
        def getinstance():
                if cls not in instances:
                        instances[cls] = cls()
                return instances[cls]
        return getinstance

@singleton
class MyClass:
        def __init__(self):
                self.name= "one"

 

实例化两次MyClass看一下效果:

m1 = MyClass()
m1.name = "two"

m2 = MyClass()
print m2.name

 

结果打印出了 “two”。

 

分享到:
评论

相关推荐

    在Python中实现单例模式.docx

    ### 在Python中实现单例模式 #### 概述 单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在很多情况下,我们希望在整个应用程序中只存在一个特定类型的对象实例,例如配置管理...

    使用python写的单例模式日志记录器(设计模式之单例模式)

    下面是一个简单的Python单例模式日志记录器的实现: ```python class SingletonLogger(object): _instance = None def __new__(cls, *args, **kwargs): if not cls._instance: cls._instance = super...

    通过python实现单例模式(类变量).rar

    压缩包文件代码是一个常见的设计模式——单例模式(Singleton Pattern) 的 Python 实现。单例模式确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这在需要控制资源访问或需要协调系统范围内的操作时...

    python 设计模式之单例模式

    python 设计模式之单例模式

    Python单例模式实例详解

    总结来说,Python单例模式的实现旨在确保类只有一个实例并提供全局访问,通常采用饿汉式或懒汉式实现,其中懒汉式需处理多线程并发问题。同时,`@staticmethod`和`@classmethod`是Python类中两种特殊方法,前者与类...

    设计模式单例模式示例代码(python--c++)

    单例模式是软件设计模式中的一种经典模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如控制特定资源的访问,或者在整个应用中只创建一次数据库连接等。 在C++...

    详解python实现线程安全的单例模式

    单例模式是软件设计模式中的一种,其核心思想是确保一个类只有一个实例,并提供一个全局访问点。在Python中,由于解释器的特性,模块级别的变量实际上天然具有单例属性,因为模块只会被导入一次,因此模块内的变量也...

    python使用装饰器(Decorator)的方式实现单例模式

    demo python使用装饰器(Decorator)的方式实现单例模式 functools.wraps 则可以将原函数对象的指定属性复制给包装函数对象, 默认有 __module__、__name__、__doc__,或者通过参数选择

    Python中的单例模式的几种实现方式的及优化

    在Python编程中,单例模式是一种常见的设计模式,它的核心思想是确保一个类只能有一个实例,并提供一个全局访问点。这种模式在某些场景下非常有用,例如管理共享资源、配置对象或者缓存服务等。本篇文章将深入探讨...

    设计模式专题之(一)单例模式---设计模式单例模式模式示例代码(python--c++)

    以下是一个基本的Python单例模式实现: ```python class Singleton(object): _instance = None def __new__(cls, *args, **kwargs): if not cls._instance: cls._instance = super(Singleton, cls).__new__...

    Python中实现单例模式的n种方式和原理

    单例模式是软件设计模式中较为常见的一种,其主要目的是确保一个类仅有一个实例,并提供一个全局访问点。在Python中实现单例模式有多种方法,常见的有使用全局变量、使用metaclass(元类)、重写__new__方法以及使用...

    Python单例模式的四种创建方式实例解析

    在单例模式中,可以通过重写`__new__`方法,确保类的实例化只进行一次。当类的`_instance`属性为`None`时,创建新的实例,并将`_instance`设置为新实例;否则,直接返回`_instance`。这种方法确保了类的实例只有一个...

    python单例模式的多种实现方法

    ### Python单例模式的多种实现方法 #### 概述 单例模式是一种常见的设计模式,其核心在于确保一个类仅有一个实例,并且该实例能够全局访问。这种模式在某些场景下非常有用,例如管理共享资源、配置管理或日志记录等...

    Python单例模式实例分析

    本文实例讲述了Python单例模式的使用方法。分享给大家供大家参考。具体如下: 方法一 复制代码 代码如下:import threading    class Singleton(object):   __instance = None     __lock = threading.Lock()...

    Python使用redis pool的一种单例实现方式

    本篇文章将详细介绍如何在Python中利用`redis`库实现一个基于单例模式的Redis连接池。 首先,我们需要导入`redis`库,它提供了Python与Redis服务器通信的接口。在下面的代码中,我们定义了一个类`RedisDBConfig`,...

    python单例模式原理与创建方法实例分析

    本文实例讲述了python单例模式原理与创建方法。分享给大家供大家参考,具体如下: 1. 单例是什么 举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统...

    034-python中的单例模式.xmind

    这是我学习python基础知识时做的xmind思维导图原件,有需要的可以下载

Global site tag (gtag.js) - Google Analytics