标签:== 内存地址 模式 init ini main sel __new__ 结果
因为最近的项目多次涉及到了单例模式,所以做个小笔记。
老师之前用到的只是在整个项目中的某一个文件自定义一个类,然后在该py文件中实例化一个对象,别的文件调用这只实例化过一次的类的对象就叫他单例模式,提出质疑
目前只会一种真正的单例模式:
class single_instance(object):
__instance=None
def __init__(self):
pass
def __new__(cls, *args, **kwargs):
if cls.__instance==None:
cls.__instance=object.__new__(cls,*args,**kwargs)
return cls.__instance
a=single_instance()
b=single_instance()
print(a)
print(b)
输出结果如下:
<__main__.singleton object at 0x0000016D5191D320>
<__main__.singleton object at 0x0000016D5191D320>
这才叫单例模式好吗!!!一个类无论你实例化多少次,他的对象始终都是一个内存地址。
标签:== 内存地址 模式 init ini main sel __new__ 结果
原文地址:http://www.cnblogs.com/575dsj/p/7717797.html