流畅的python-学习笔记_协议+继承优缺点

接口和协议

python动态语言,没有interface等概念,接口和协议方法有的也有替代品,所以类似于鸭子类型,只关注行为像鸭子,不关注它是不是鸭子。不是每个接口都得实现,这是允许的

猴子补丁

可动态给对象添加新方法,又不改变对象源代码,这种方法叫 猴子补丁。它会使代码更耦合

应该少用isinstance,而是用多态,分配给对应的处理

子类化内置类

即从自定义class继承于内置类型会有问题,因为派生子类的特殊方法,解释器不一定会调用你的方法,会导致问题。这类内置类不便于扩展,有专门用于扩展的类,可以继承这些类

多重继承

菱形继承时,py会有自己的方法查找顺序,这个顺序叫MRO,Method Resolution Order,可以通过类的__mro__方法访问mro

多继承类声明顺序也会影响mro

多重继承处理

相关推荐
2501_9381768826 分钟前
股指期货的交易成本全解析
笔记
婷婷_17226 分钟前
【PCIe验证每日学习·Day25】PCIe 电源管理机制(L0s/L1/L2/L3)全解析
网络·学习·程序人生·芯片·电源管理·pcie 验证·低功耗状态
中屹指纹浏览器32 分钟前
2026多账号运营的零信任架构:指纹浏览器与网络安全的深度融合实践
经验分享·笔记
热爱生活的猴子1 小时前
训练与推理时 Tokenizer Padding 用法笔记
人工智能·笔记·机器学习
東雪木1 小时前
Java学习——一访问修饰符(public/protected/default/private)的权限控制本质
java·开发语言·学习·java面试
Dr.F.Arthur2 小时前
我的算法笔记——哈希表篇
数据结构·笔记·散列表
星幻元宇VR2 小时前
VR摩托车|沉浸式交通安全教育的新方向
科技·学习·安全·vr·虚拟现实
ZhiqianXia2 小时前
Pytorch 学习笔记(4) : torch.backends
pytorch·笔记·学习
m0_564876842 小时前
提示词工程手册学习
人工智能·python·深度学习·学习
Century_Dragon3 小时前
世纪龙-从爆炸图到原理动画:让环境感知系统在课堂上“活”起来
学习