python单列设计模式总结

主要作用:如创建音乐播放器 对象,回收站 对象,打印机 对象,在系统中只有一个唯一的实例

就是不管创建多少次同一个对象,他们的地址永远都是一样的。

主要使用:__new__方法(分配空间的)

  • 使用类名()创建对象时,python的解释器会 首先 调用 __new__方法为对象 分配空间
  • __new__是一个由 object 基类提供的 内置的静态方法,主要作用有两个:

         1. 在内存中为对象 分配空间

         2.返回 对象的引用

  • python的解释器获得对象的 引用 后,将引用作为 第一个参数传递给 __init__方法

重写 __new__方法的代码非常固定!

  • 重写__new__方法 一定要 return super().__new__(cls)
  • 否则Python的解释器 得不到 分配了空间的 对象引用,就不会调用对象的初始化方法
  • 注意:__new__是一个静态方法,在调用时需要 主动传递cls 参数

列1:初始化__init__被执行了两次

列2:让初始化__init__只被执行一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值