Python中单例设计模式
来源:互联网 发布:java波斯王子武者之心 编辑:程序博客网 时间:2024/06/01 10:44
Python中单例设计模式:
import os# 单例设计模式,只返回一个对象class Singlet(object): _instance=None _first_init=False # 类一创建就初始化(个人理解:类似java中的构造方法),必须有返回值 def __new__(cls,age,name): if not cls._instance: cls._instance=object.__new__(cls) return cls._instance # 初始化数据 def __init__(self,age,name): if not self._first_init: self.age=age self.name=name Singlet._first_init=True # 定义统一打印的方法 def __str__(self): return "姓名为:%s"%self.name+" 年龄为:%d"%self.age # 对象再被销毁之前,调用此方法,可以做一些资源的释放,流的关闭等 def __del__(self): print("我被删除了")# 以下虽然创建两个对象,# 但是他们是通过单例的设计模式,只创建了一个对象,# 所以,结果值是一样的a=Singlet(26,"xiaokeke")b=Singlet(22,"liulili")print(id(a))print(id(b))print(a.name)print(b.name)# 结果如下:#2585443917896#2585443917896# xiaokeke# xiaokeke# 我被删除了
0 0
- Python中单例设计模式
- Python中单例设计模式
- python的设计模式
- python设计模式练习
- 设计模式 (python) ---> Singleton
- 设计模式----python版本
- python设计模式
- python设计模式实现
- [python]设计模式
- python大话设计模式
- python-设计模式-索引
- Python 设计模式
- python 设计模式实现
- Python-设计模式
- Python 设计模式
- python设计模式总结
- 设计模式Python实现
- Python与设计模式
- 提升Boost:GBDT & Xgboost & Adaboost
- 【目标检测】Fast RCNN算法详解
- PHP变量和数据类型
- 【TensorFlow 代码笔记】 加载预先训练网络进行图像识别(label_image)
- 数据结构与算法分析——字谜问题实现
- Python中单例设计模式
- 常用校验码(奇偶校验码、海明校验码、CRC校验码)
- OBS源码阅读
- 贪心——洛谷P1016 旅行家的预算
- 【目标检测】Faster RCNN算法详解
- 音乐播放
- easyui的formatter属性的用法
- 数据类型小笔记
- BPS 表单内容传输至自定义内表