python单列模式
2024-09-15 00:01:56
单例模式:就是永远用一个对象的实例
初级版
#初级版
class Foo(object):
instance=None def __init__(self):
pass @classmethod # 类方法 类方法只能访问类变量,不能访问实例变量
def get_instance(self): if Foo.instance:
return Foo.instance else: Foo.instance = Foo()
return Foo.instance obj1=Foo.get_instance()
obj2=Foo.get_instance() print(id(obj1),id(obj2))
高级版
#高级版 class Foo(object): instance =None def __init__(self):
pass def __new__(cls, *args, **kwargs): if Foo.instance: return Foo.instance
else: Foo.instance = object.__new__(cls,*args,**kwargs) return Foo.instance obj1=Foo()
obj2=Foo() print(id(obj1),id(obj2))
最新文章
- ListView控件--2016年12月9日
- 近期编程问题——read:resource temporarily unavailable
- Linux系统安装LAMP
- SQLServer根据不同前缀生成多套流水号
- JavaBean与EJB的区别与应用
- 基于bootstrap的datatable控件
- cairo graphics.org
- 工作日志(DJ)
- linux的用户,群组和其他用户
- Python基础——字符串
- Python实现常用排序算法
- JavaScript遍历集合(for...of/for...in/forEach)
- May 26. 2018 Week 21st Saturday
- react-navigation 中的多tabs嵌套时内部tabs无法正常切换问题
- AI大道理头尾标识
- HDU-1160.FatMouse'sSpeed.(LIS变形 + 路径打印)
- CF666E Forensic Examination 广义SAM、线段树合并、倍增、扫描线
- spring controller 获取context
- linux(redhat)环境下,如何解压rar文件?
- 假期C语言学习笔记4