python中的单例模式
来源:互联网 发布:phpcms 模板使用php 编辑:程序博客网 时间:2024/06/09 20:47
单例模式
1、定义一个单例类
class Singleton(object): # 定义一个类的私有变量,控制new方法的执行。 __instance = None # 定义一个类的私有变量,控制init方法的执行 __inited = None def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = object.__new__(cls) return cls.__instance def __init__(self, args1, args2): if self.__inited is None: self.args1 = args1 self.args2 = args2 # 更改类的私有属性,要使用类对象进行更改。 Singleton.__inited = Trues1 = Singleton('first', 1)s2 = Singleton('second', 2)print(id(s1))print(s1.args1, s1.args2)print(id(s2))print(s2.args1, s2.args2)
2、执行结果
4301237216first 14301237216first 1
3、说明
在类中定义了两个类的私有属性instance和inited,通过判断instance属性实现了对new方法执行的控制,如果instance是None,则创建对象并赋值给instance,如果instance等于之前创建的对象,则直接返回。inited属性控制init方法的初始化,控制方式和instance类似。
阅读全文
0 0
- Python 中的单例模式
- Python 中的单例模式
- python中的单例模式
- Python 中的单例模式
- Python中的单例模式实现
- Python单例模式
- Python单例模式
- 单例模式(python)
- python单例模式
- python单例模式
- python 单例模式
- python单例模式
- python单例模式
- python单例模式
- Python 单例模式
- Python 单例模式
- Python -- 单例模式
- Python单例模式
- [模板]线性筛素数
- 数据分析(入门篇)-第一章-数据分析那些事儿
- Thinkphp5学习(26)调试和日志
- JustOj1227: 统计单词个数
- jQuery初始化
- python中的单例模式
- SpringBoot非官方教程 | 第十二篇:springboot集成apidoc
- 深入理解JVM(五)——JVM调优 Eclipse调优
- Atcoder ARC 077 E
- 杨辉三角的多解(转载)
- Android自定义控件时的事件处理方法
- ida android incompatible debugger server protocol version is 17,expected 19
- Java之字符流、字符缓冲流
- 1121: [POI2008]激光发射器SZK