单例模式 python,python中单例模式是什么

  单例模式 python,python中单例模式是什么

  本文分享了五种用Python创建singleton模式的常用方法,供大家参考。具体情况如下

  所谓singleton,就是一个类的实例从头到尾只能创建一次。

  方法1:

  如果希望一个类从头到尾最多有一个实例,那么使用__new__方法会非常简单。Python中的类通过__new__创建实例:

  类单例(对象):

  def __new__(cls,*args,**kwargs):

  如果不是hasattr(cls, _inst ):

  cls。_inst=super(Singleton,cls)。__new__(cls,*args,**kwargs)

  返回cls。_inst

  if __name__==__main__ :

  A类(单例):

  def __init__(self,s):

  self.s=s

  a=A(苹果)

  b=A(“香蕉”)

  打印id(a),a.s

  打印id(b),b.s

  结果:

  29922256香蕉

  29922256香蕉

  通过__new__方法,类的实例在创建时被绑定到类property _inst。如果cls。_inst为None,这意味着该类尚未实例化。实例化该实例并将其绑定到cls。_inst,然后每次都返回第一次实例化创建的实例。从Singleton派生子类时,注意不要重载__new__。

  方法二:

  有时我们不关心生成的实例是否有相同的id,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: