简单
技术面试0 次浏览

在 Python 中,如何实现一个简单的单例模式?请给出代码示例。

微软中国后端工程师
Python设计模式

答题要点

推荐答题框架:采用代码实现与解释结合的方式。关键要点如下:1. 单例模式概念:确保一个类只有一个实例,并提供一个全局访问点。2. 实现方式:可以使用装饰器或类方法来实现。3. 代码示例:通过装饰器实现时,定义一个装饰器函数,在函数内部维护一个实例字典,当调用类时检查实例是否存在,若存在则返回已有实例,不存在则创建新实例。示例思路:“我们可以定义一个装饰器,在装饰器内部使用一个字典来存储类的实例。当有调用该类时,先检查字典中是否已有该类的实例,若有则直接返回,没有则创建并存储到字典中。以下是代码示例:python def singleton(cls): instances = {} def wrapper(*args, **kwargs): if cls not in instances: instances[cls] = cls(*args, **kwargs) return instances[cls] return wrapper @singleton class MyClass: pass