Python中的单例模式可以通过元类来实现。元类可以定制类的创建过程,从而实现单例模式。下面给出一个例子:
class SingletonMeta(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]
class Singleton(metaclass=SingletonMeta):
pass