单例模式
2019-07-24 09:24:57来源:博客园 阅读 ()
单例模式用于只生成一个对象,例如像计算机的回收站只需要一个即可。
通过类实例化的对象,会分配两个不同的内存空间,因此内存地址,id也就不相同,例子如下:
new方法一般不会用到,它是父类中的方法,一般不用自己写,系统自动调用,如果自己写了就会覆盖父类中的new方法。
new方法在内存中开辟一块空间,就像买了一个房子,init是初始化方法,就像在房子里面装修一样。
在单例模式中要使用到new方法,因为new方法中的返回值会传给init中的self,截图如下:
a1,a2指的是同一个对象,因此内存地址,id也相同。
__instance为私有的类属性,防止外界修改。当__instance为None时,意味着类还没有实例化,在内存中分配空间。于是就调用父类中的new方法分配空间。当再次实例化时,__instance就不为None了,因此也不会再开辟新的内存空间,返回的是第一次开辟的内存空间,因此空间地址相同,只有一个对象。
原文链接:https://www.cnblogs.com/lkbangbangda/p/11201627.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python学习-36 文件处理b模式 2019-07-24
- python 之 面向对象(元类、__call__、单例模式) 2019-07-24
- python 单例模式 2019-07-24
- Django框架深入了解_01(Django请求生命周期、开发模式、cbv 2019-07-24
- odoo Windows10启动debug模式报错(Process finished with e 2019-05-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash