Python装饰器单例
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dutsoft/article/details/52057981
#!/usr/bin/python
#coding: utf-8
"""
an elegant way to spawn singleton
"""
def singleton(cls, *args, **kw):
""" singleton decorator """
instances = {}
def _singleton():
if cls not in instances:
instances[cls] = cls(*args, **kw)
return instances[cls]
return _singleton
@singleton
class TestClass(object):
a = 1
def __init__(self, x=0):
self.x = x
if __name__ == '__main__':
one = TestClass()
two = TestClass()
print one.a
print id(one)
print id(two)
print one is two
one.x = 1
print one.x
print two.x
---------------------
作者:dutsoft
来源:CSDN
原文:https://blog.csdn.net/dutsoft/article/details/52057981
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- HTTP 错误 500.21 - Internal Server Error
- Makefile经典教程(掌握这些足够)
- EF下泛型分页方法,更新方法
- Linux设计准则
- Git 远程操作详解
- 破解ckfinder2.3 去除版本号和标题提示
- ASP.NET MVC中几个运用技巧
- vm虚拟机挂载usb
- Linux逻辑卷创建
- HBase in 2013
- 导入excel错误:外部表不是预期的格式 解决方案(Oledb)
- 《Linear Algebra and Its Applications》-chaper2-矩阵代数中的基本性质
- Activity的生命周期与加载模式——Activity的4种加载模式
- 【php】windows安装PHP5.5+Apache2.4
- C语言程序设计第五次作业——循环结构(1)
- 运用python绘制小猪佩奇
- Flink安装部署
- java算法-单向队列
- kafka管理器之kafka-manager
- scala 模式匹配详解 3 模式匹配的核心功能是解构