记录两个python中的单例模式实现方式
2019-04-07 21:47
155 查看
单例模式实现的方法有很多,这里只记录两个,
(1)一个是在类中实现__new__()方法,创建实例时判断是否存在_instance变量,不存在则创建, 最后返回实例,
(2)另一个是单独保存到一个模块当中,并创建一个实例,每次访问时通过import来访问.
参考链接:https://www.cnblogs.com/wuliwawa/p/9655670.html
其他方法可以实现单例模式,但都不是绝对单例模式,可以创建新的对象,但是使用__new__()方法的方式是绝对单例模式,全局只能真正创建一次对象
- 单例模式的类继承此类即可
class Singleton(object): def __new__(cls, *args, **kwargs): if not hasattr(cls,'_instalnce'): cls._instance = object.__new__(cls) return cls._instance
2.使用import 的方式实现
Class Singleton(object): def __init__(self): self.xx = xx self.xxx = xxx a = Singleton()
import singleton
instance = singleton.a
相关文章推荐
- python实现:分别采用递归方法与动态规划算法实现“币值最大化问题”和“找零问题”。要求动态地调整两个问题的规模,记录程序运行时间。绘制曲线图比较在相同规模n情况下采用递归方式和动态规划实现的效率
- Python中实现装饰模式的三种方式
- Python中的单例模式的几种实现方式的及优化
- 用python多线程方式实现生产者与消费者模式
- Python中单例模式的实现方式
- Python中单例模式的实现方式
- python 元类型编程, 单例模式SingleTon的一种实现方式
- Python中的单例模式的几种实现方式的及优化
- Python单例模式的实现方式
- Python中实现单例模式的n种方式和原理
- 5种Python单例模式的实现方式
- Python3之实现单例模式de几种方式
- Python中的单例模式的几种实现方式的及优化
- 单利模式及python实现方式详解
- 单利模式及python实现方式详解
- leetCode 349号题目详解 两个数组的交集 ,python3两种方式实现, 复杂度分别为O(n^2) 和 O(n)
- python实现单例模式的四种方式及相关知识解释
- 5种Python单例模式的实现方式
- 基于Python中单例模式的几种实现方式及优化详解
- 两个Repeater嵌套实现动态菜单(ado.net+sql和xml+Linq两种读取数据方式)