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...

面试题 相关文章推荐
Weblogic的布署方式
Aug 23 面试题
编写strcpy函数
Jun 24 面试题
SQL Server面试题
Oct 17 面试题
查询优化的一般准则有哪些
Mar 08 面试题
Discard Protocol抛弃协议的作用是什么
Oct 10 面试题
Linux如何命名文件--使用文件名时应注意
Jan 22 面试题
介绍一下linux的文件权限
Feb 15 面试题
传统软件工程与面向对象的软件工程有什么区别
May 31 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
May 24 面试题
介绍一下Python下range()函数的用法
Nov 07 面试题
Ruby如何进行文件操作
Jul 17 面试题
JAVA软件工程师测试题
Jul 25 面试题
什么是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
详解:――如何将图片储存在数据库里
2006/12/05 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
javascript读取RSS数据
2007/01/20 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python实现针对中文排序的方法
2017/05/09 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
python excel转换csv代码实例
2019/08/26 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
什么是.net的Remoting技术
2016/07/08 面试题
C#基础面试题
2016/10/17 面试题
市场营销专业毕业生自荐信
2013/11/02 职场文书
文明礼仪小标兵事迹
2014/01/12 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
倡议书作文
2015/01/19 职场文书
oracle重置序列从0开始递增1
2022/02/28 Oracle
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python