Python使用元类的单例
例子
单例是一种将类的实例限制为一个实例/对象的模式。有关python单例设计模式的更多信息,请参见此处。
class SingletonType(type):
def __call__(cls, *args, **kwargs):
try:
return cls.__instance
except AttributeError:
cls.__instance= super(SingletonType, cls).__call__(*args, **kwargs)
return cls.__instanceclass MySingleton(object):
__metaclass__ = SingletonTypeclass MySingleton(metaclass=SingletonType):
pass