程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

单例模式

发布于2019-08-06 11:45     阅读(1221)     评论(0)     点赞(2)     收藏(5)


单例模式用于只生成一个对象,例如像计算机的回收站只需要一个即可

通过类实例化的对象,会分配两个不同的内存空间,因此内存地址,id也就不相同,例子如下:

new方法一般不会用到,它是父类中的方法,一般不用自己写,系统自动调用,如果自己写了就会覆盖父类中的new方法。

new方法在内存中开辟一块空间,就像买了一个房子,init是初始化方法,就像在房子里面装修一样。

在单例模式中要使用到new方法,因为new方法中的返回值会传给init中的self,截图如下:

a1,a2指的是同一个对象,因此内存地址,id也相同。

__instance为私有的类属性,防止外界修改。当__instance为None时,意味着类还没有实例化,在内存中分配空间。于是就调用父类中的new方法分配空间。当再次实例化时,__instance就不为None了,因此也不会再开辟新的内存空间,返回的是第一次开辟的内存空间,因此空间地址相同,只有一个对象。

 



所属网站分类: 技术文章 > 博客

作者:today

链接:https://www.pythonheidong.com/blog/article/8507/a8f8d226f8e0520a19d6/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)