简单
技术面试0 次浏览

简述如何在 Python 中实现单例模式。

后端工程师
PythonDesign Pattern

答题要点

单例模式是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。在 Python 中,有多种实现单例模式的方法。1. 使用模块:Python 的模块天然就是单例模式。因为模块在第一次导入时会被加载并执行,之后再次导入时会直接使用已加载的模块。可以将需要单例的类定义在一个模块中,然后在其他模块中导入该模块使用。2. 使用装饰器:可以定义一个装饰器,用于装饰需要实现单例的类。装饰器内部维护一个字典,用于存储类的实例。当第一次调用类创建实例时,将实例存储在字典中,之后再次调用时直接返回该实例。3. 使用元类:元类是创建类的类。可以定义一个元类,在元类的 `__call__` 方法中实现单例逻辑。当使用该元类创建类时,类的实例化过程会经过元类的 `__call__` 方法,从而保证只有一个实例被创建。