创建型模式 --- 单例模式 --- 内容: 保证一个类只有一个实例,并提供一个访问它的全局访问点 角色: 1. 单例 (Singleton) 优点: 1. 对唯一实例的受控访问 2. 单例相当于全局变量,但防止了命名空间被污染
class Singleton(object):
def __new__(cls, *args, **kwargs):
if not hasattr(cls, '_instance'):
cls._instance = super(Singleton, cls).__new__(cls)
return cls._instance
class MyClass(Singleton):
def __init__(self, a):
self.a = a
a = MyClass(10)
b = MyClass(20)
print(a.a, b.a)
print(a, b)