点评:单例模式是指让一个类只能创建出唯一的实例,这个题目在面试中出现的频率极高,因为它考察的不仅仅是单例模式,更是对Python语言到底掌握到何种程度,建议大家用装饰器和元类这两种方式来实现单例模式,因为这两种方式的通用性最强,而且也可以顺便展示自己对装饰器和元类中两个关键知识点的理解。
方法一: 使用装饰器实现单例模式。
from functools import wraps
def singleton(cls):
"""单例类装饰器"""
instances = {}
@wraps(cls)
def wrapper(*args, **kwargs):
if cls not in instances:
instances[cls] = cls(*args, **kwargs)
&

文章介绍了如何使用装饰器和元类在Python中实现单例模式,强调了装饰器的通用性和元类改变类行为的特点。同时提到了线程安全问题及单例模式的应用场景,如数据库连接池和日志操作。

1万+

被折叠的 条评论
为什么被折叠?



