Python如何实现单例模式
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:
…
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:
…
【Python如何实现单例模式】相关文章
7. 请写出一段Python代码实现删除一个list里面的重复元素
8. 软件测试LoadRunner面试题:What is think time? How do you change the threshold?
10. Python中如何定义一个函数
本文来源:https://www.mianshiwenti.com/a13506.html
进入下载页面
﹝Python如何实现单例模式﹞相关内容
- 如何用Python来进行查询和替换一个文本字符串
- Python是如何进行类型转换的
- 如何用Python输出一个Fibonacci数列
- Python里面search()和match()的区别
- 华为python面试题
- 用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
- Python的两道面试题
- Python文件操作的面试题
- Python中pass语句的作用是什么
- 介绍一下Python中webbrowser的用法