码迷,mamicode.com
首页 > 编程语言 > 详细

Python单例模式

时间:2017-10-23 18:49:01      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:==   内存地址   模式   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>

 

这才叫单例模式好吗!!!一个类无论你实例化多少次,他的对象始终都是一个内存地址。




Python单例模式

标签:==   内存地址   模式   init   ini   main   sel   __new__   结果   

原文地址:http://www.cnblogs.com/575dsj/p/7717797.html

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