单例模式是面向对象编程开发模式之中很常用的一种 , 简单的来说 , 就是一个类只能够被实例化一次就被称之为单例模式 , 所有的实例对象都会指向一个实例 。而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创建单例模式代码如何写”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- Sublime编辑器如何显示制表符和空格?Sublime怎么修改tab键为4个空格
- SublimeText3如何新建python文件?Sublime怎么保存文件为py类型
- Sublime如何显示文件列表?Sublime编辑器怎么打开文件夹
- Python如何保存图片到数据库中?Python图片保存到数据库代码怎么写
- Python同步线程怎么实现?Python如何用互斥锁同步线程
- 三眼蟹死了还能吃吗 三眼蟹死了会怎么样
- Sublime怎么给文件命名?SublimeText3如何重命名文件
- Python中的lambda表达式如何使用?lambda匿名函数的使用方法
- Python中的exec的用法是什么?Python中exec()和eval()的区别
- python函数内部能定义函数吗?python函数内部如何定义函数?