所谓单例模式就是一个类只能创建一个实例化。
class Singleton(object):
def __new__(cls,*args,**kwargs):
if not hasattr(cls,'_inst'):
cls._inst=super(Singleton,cls).__new__(cls,*args,**kwargs)
return cls._inst
if __name__=='__main__':
class A(Singleton):
def __init__(self,s):
self.s=s
a=A('apple')
b=A('banana')
print id(a),a.s
print id(b),b.s
输出结果:
44255152 banana
44255152 banana
本文介绍了一种使用Python实现单例模式的方法。通过重写`__new__`方法确保类的唯一实例,并展示了一个具体示例,说明如何创建并使用单例类。

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



