前言:
有一阵子看了别人很多写单例模式的理解,于是也把自己的理解记录一下,他日成为大牛也可以看回曾经的足迹
概述:
1,__new__() 方法是特殊方法,作用是在类初始化实例之前,给实例划出一个新的内存空间;
2,__init__()方式也是特殊方法,作用是在获得__new__()方法划给它地盘以后,在这个地盘给类进行实例对象创建
3、实现单例,就要重写__new__() 方法
4、之后还要对__inti__()进行重写
5、写单例有很多种方法,这里就列举自己惯用的
作者:Simon0903
链接:https://www.jianshu.com/u/2b4bc3b5e6fc
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
实现单例模式代码如下:
class Alone():
def __new__(cls,*args,**kwargs):
if not hasattr(cls, "example"):
cls.example = super().__new__(cls)
return cls.example