Python如何实现单例模式


Posted in 面试题 onJune 03, 2016
Python有两种方式可以实现单例模式,下面两个例子使用了不同的方式实现单例模式:
1.
class Singleton(type):
def __init__(cls, name, bases, dict):
super(Singleton, cls).__init__(name, bases, dict)
cls.instance = None

def __call__(cls, *args, **kw):
if cls.instance is None:
cls.instance = super(Singleton, cls).__call__(*args, **kw)

return cls.instance

class MyClass(object):
__metaclass__ = Singleton

print MyClass()
print MyClass()
2. 使用decorator来实现单例模式
def singleton(cls):
instances = {}
def getinstance():
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance

@singleton
class MyClass:

Tags in this post...

面试题 相关文章推荐
华为的Java面试题
Mar 07 面试题
Java工程师面试集锦之Spring框架
Jun 16 面试题
为什么要有struct关键字
May 08 面试题
某IT外企面试题-二分法求方程!看看大家的C++功底
Jul 04 面试题
如何实现一个自定义类的序列化
May 22 面试题
.NET是怎么支持多种语言的
Feb 24 面试题
linux面试题参考答案(7)
Oct 29 面试题
Linux中如何用命令创建目录
Dec 02 面试题
what is the difference between ext2 and ext3
Nov 03 面试题
中科软测试工程师面试题
Jun 16 面试题
如何开发一个JQuery插件
Jul 28 面试题
Python里面如何拷贝一个对象
Feb 17 面试题
什么是lambda函数
Sep 17 #面试题
介绍一下Python中webbrowser的用法
May 07 #面试题
请写出一段Python代码实现删除一个list里面的重复元素
Dec 29 #面试题
用Python写一个for循环的例子
Jul 19 #面试题
Prototype如何为一个Ajax添加一个参数
Dec 06 #面试题
Prototype如何更新局部页面
Mar 03 #面试题
如何开发安全的AJAX应用
Mar 26 #面试题
You might like
PHP读取PPT文件的方法
2015/12/10 PHP
Smarty变量用法详解
2016/05/11 PHP
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
2019/01/29 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
python中字符串内置函数的用法总结
2018/09/13 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
python opencv如何实现图片绘制
2020/01/19 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
python 发送get请求接口详解
2020/11/17 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
教师找工作推荐信
2013/11/23 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
排查MySQL生产环境索引没有效果
2022/04/11 MySQL
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript