发布于2019-08-06 11:45 阅读(1348) 评论(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黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!