Python中实现单例模式的最佳实践
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super().__new__(cls, *args, **kwargs)
return cls._instance
class MySingleton(Singleton):
def __init__(self, name):
self.name = name
# 使用单例
a = MySingleton('Singleton A')
b = MySingleton('Singleton B')
# a和b将引用同一个对象,因为MySingleton是Singleton的子类,而_instance是在Singleton中定义的
print(a is b) # 输出: True
这个代码实例展示了如何在Python中实现单例模式。通过继承一个单例基类,我们可以轻松地在程序中创建单例类。这种方法使得单例类可以在需要的时候共享实例,从而节省内存。
评论已关闭