python Singleton单例模式实现

所谓单例模式就是一个类只能创建一个实例化。

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

你可能感兴趣的:(Singleton,python)