class Singleton(type):
def __init__(self, *args, **kwargs):
self._instance = None
super(Singleton, self).__init__(*args, **kwargs)
def __call__(self, *args, **kwargs):
if not self._instance:
self._instance = super(Singleton, self).__call__(*args, **kwargs)
return self._instance
class Test(object):
__metaclass__ = Singleton
pass
t1 = Test()
t2 = Test()
print t1 is t2 #True用元类实现 单例模式
最新推荐文章于 2025-10-21 09:35:08 发布
本文通过Python代码展示了如何使用元类来实现单例模式。单例模式确保在整个应用程序中一个类只有一个实例,并提供一个全局访问点。代码示例中定义了一个名为`Singleton`的元类,该元类控制其子类的实例化过程,确保所有创建的对象实例指向同一个对象。
1860

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



