单例模式
模式定义:
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。
三个关键点:
1. 该类只能有一个实例;
2. 它必须在类内部自行创建这个实例;
3. 它必须自行向整个系统提供这个实例。
class Singleton(object):
_instance = None
def __new__(cls, *args, **kw):
if not cls._instance:
cls._instance = super().__new__(cls, *args, **kw)
cls._instance._age = 20
return cls._instance
class SingleBoy(Singleton):
def grow(self):
self._age += 1
@property
def age(self):
return self._age
def __repr__(self):
return str(self._age)
me = SingleBoy()
you = SingleBoy()
he = SingleBoy()
print(str(id(my))+"\n"+str(id(you))+"\n"+str(id(he)))
>>>
1258485744472
1258485744472
1258485744472

浙公网安备 33010602011771号