码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式(持续更新)

时间:2017-12-20 04:02:17      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:模式   单例   body   文件   定义   object   return   *args   __init__   

1、文件引入是一种单例模式

2、自定义类方法(有代价,告知所有人,以后实例化时,不要再 类(),使用 类.instance() )

			class Foo(object):
				_instance = None

				def __init__(self,name):
					self.name = name

				@classmethod
				def instance(cls,*args,**kwargs):
					if hasattr(cls,‘_instance‘):
						obj = cls(*args,**kwargs)
						setattr(cls,‘_instance,obj)
					return cls._instance


			obj1 = Foo.instance(‘alex‘)
			obj2 = Foo.instance(‘alex‘)
			print(id(obj1),id(obj2))

  

单例模式(持续更新)

标签:模式   单例   body   文件   定义   object   return   *args   __init__   

原文地址:http://www.cnblogs.com/wangbaihan/p/8068083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!