单利模式

 

 

2、创建单例模式举例
class Foo(object):
   instance = None
   def __init__(self):
      self.name = 'alex'
def __new__(cls, *args, **kwargs):
      if Foo.instance:
         return Foo.instance
      else:
         Foo.instance = object.__new__(cls,*args,**kwargs)
         return Foo.instance
obj1 = Foo()       # obj1和obj2获取的就是__new__方法返回的内容
obj2 = Foo()
print(obj1,obj2)   # 运行结果: <__main__.Foo object at 0x00D3B450>    <__main__.Foo object at 0x00D3B450>
# 运行结果说明:
# 这可以看到我们新建的两个Foo()对象内存地址相同,说明使用的•同一个类,没有重复建立类
View Code

 

posted @ 2020-03-26 19:23  Handsome、Snake  阅读(126)  评论(0编辑  收藏  举报