python 环境中的单例创建方法
2018-01-26 13:34
435 查看
单例模式是最常见的一种设计模式,在python 环境中我们可以尝试以下的这几种方法创建程序中的单例:
通过将类实例化后赋值给与类名同名的变量,通过名字污染(也即命名绑定)的方式,将同名变量成为该类的唯一对象。
运行结果显示:
通过继承 Singleton,Singleton 的子类们都能实现单例。
运行结果显示:
这种方式实现的单例非常优雅,只要在需要实现单例能力的类定义前添加一行@singleton的装饰声明就搞定了,对业务代码逻辑的干扰最小,非常推荐使用该方式实现单例。
导入运行singleton.py的结果显示:
利用模块在程序中仅加载一次的特点,也能实现单例。
运行结果显示:
使用 python 的高级语法构造 Singleton 元类来实现单例,是最为底层的实现方式。
更多关于python语言方面的文章,请前往51Testing软件测试网。(http://www.51testing.com)
1. 命名绑定单例示例
通过将类实例化后赋值给与类名同名的变量,通过名字污染(也即命名绑定)的方式,将同名变量成为该类的唯一对象。
2. 使用重写new方法创建单例示例
运行结果显示:
通过继承 Singleton,Singleton 的子类们都能实现单例。
3. 使用装饰器实现单例示例
运行结果显示:
这种方式实现的单例非常优雅,只要在需要实现单例能力的类定义前添加一行@singleton的装饰声明就搞定了,对业务代码逻辑的干扰最小,非常推荐使用该方式实现单例。
4. 使用模块实现单例示例
导入运行singleton.py的结果显示:
利用模块在程序中仅加载一次的特点,也能实现单例。
5. 使用元类实现单例示例
运行结果显示:
使用 python 的高级语法构造 Singleton 元类来实现单例,是最为底层的实现方式。
更多关于python语言方面的文章,请前往51Testing软件测试网。(http://www.51testing.com)
相关文章推荐
- Python创建virtualenv(虚拟环境)方法
- Window下,利用Anaconda2创建jupyter-notebook的python3环境方法
- MAC环境为python3时无法创建cocos2d-x项目解决方法
- dg环境,主库创建表空间,备库若没有创建成功,备库日志应用失败的解决方法
- ubuntu中进入python环境运行python文件方法
- Python窗口开发环境boa-constructor教程2:创建状态栏:
- Android NDK环境创建方法简介
- 最简单的创建复制环境中只读实体化视图站点的方法
- [Python]linux下python环境的安装和类库的2种安装方法
- Python之转换py文件为无需依赖python环境的exe文件的方法
- python字典的各种创建方法
- cocos2d-x使用python脚本创建项目的简单方法
- 最简单的创建复制环境中只读实体化视图站点的方法
- cocos2d-x使用python脚本创建项目的简单方法
- file()创建文件方法 分类: python python基础学习 2012-12-24 18:17 239人阅读 评论(0) 收藏
- [Python]开发环境相关搭建方法介绍
- Python学习笔记九:列表(1)--列表元素介绍及创建方法
- Word 无法创建工作文件 请检查临时环境变量 解决方法
- Python网络编程2:创建套接字和套接字对象的内建方法
- python创建子进程,以及读取配置文件方法