Python单例类怎么创建?Python创建单例模式代码如何写

单例模式是面向对象编程开发模式之中很常用的一种 , 简单的来说 , 就是一个类只能够被实例化一次就被称之为单例模式 , 所有的实例对象都会指向一个实例 。而python中单例模式是通过类来实现的 , 所以下文会给大家分享几个创建单例类的代码示例 , 一起往下看看吧 。

Python单例类怎么创建?Python创建单例模式代码如何写

文章插图
一、共享实例
这种方式就是根据单例模式特点 , 所有实例全部都指向一个实例 , 而这些实例之间是共享属性、方法、状态以及行为的 。那么具体实现代码就是让这个类去继承基类object , 然后在其中定义一个空字典以及初始化类时会调用的new函数 。
这个函数里面需要用super()方法生成对象再去调用类本身的new()方法 , 然后实例对象中的字典属性用创建好的空字典复制 , 再返回类对象 , 详细代码示例如下所示:
【Python单例类怎么创建?Python创建单例模式代码如何写】class Borg(object):    _shared_state={}    def __new__(cls,*args,**kwargs):        obj=super(Borg,cls).__new__(cls,*args,**kwargs)        obj.__dict__=cls._shared_state        return obj具体的实现原理就是 , 因为new方法只会调用一次 , 所以这个类在首次实例化时就决定了它的属性是什么 , 之后再实例化还是会得到同样的属性值 。
二、绑定
单例模式最为显著的特点就是它只可以实例化一次 , 那么根据这个思路就可以得到 。实例化一个类时 , 只需要将这个类实例对象使用类本身去接收 , 那么它们二者就是会被互相绑定起来 。因为类已经被绑定给类实例对象了 , 之后再去进行实例化所返回的结果还是第一次实例化时的对象 , 代码如下:
class singleton(object):    passsingleton=singleton()以上就是关于“Python单例类怎么创建?Python创建单例模式代码如何写”的全部内容了 , 希望对你有所帮助 。

    推荐阅读