单例模式(个人理解):
减少重复创建相同对象,节约时间空间成本;前提是重复创建同种对象(一种常用的软件设计模式)
实现:
```python
class Singleton(object):
__instance=None
def __new__(cls, *args, **kwargs):
if cls.__instance is None:
cls.__instance=super().__new__(cls)
return cls.__instance
def __init__(self,name,age):
self.name=name
self.age=age
a=Singleton('A',13)
v=Singleton('V',14)
i=Singleton('I',78)
print(type(a))
print(type(v))
print(type(i))
print(id(a))
print(id(v))
print(id(i))
```
器输出结果是:
<class '__main__.Singleton'>
<class '__main__.Singleton'>
<class '__main__.Singleton'>
2081625523144
2081625523144
2081625523144
反复创建的均为同一个对象
但:
有个缺点,在多线程使用单例需要改进,不然会出异常。