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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
嘉琪00118 小时前
Day2 完整学习包(闭包 & 立即执行函数)——2026 0311
学习
南浦别a18 小时前
第三十一天--继续学习--TreeSet排序方式和HashSet
学习
承渊政道18 小时前
C++学习之旅【⽤哈希表封装myunordered_map和myunordered_set以及位图和布隆过滤器介绍】
数据结构·c++·学习·哈希算法·散列表·hash-index·图搜索算法
金山几座18 小时前
C#学习记录-变量与类型
学习·c#
智者知已应修善业18 小时前
【花费最少钱加油到最后(样例数据推敲)】2024-11-18
c语言·c++·经验分享·笔记·算法
就叫飞六吧18 小时前
文件共享协议科普
笔记
飞Link18 小时前
深度解析 InfoNCE:对比学习背后的“核心功臣”
python·学习·数据挖掘·回归
yangyanping2010818 小时前
Linux学习四之 rm 命令详解
linux·运维·学习
怪侠_岭南一只猿18 小时前
爬虫工程师学习路径 · 阶段四:反爬虫对抗(完整学习文档)
css·爬虫·python·学习·html
写bug的小屁孩18 小时前
EDA 事件驱动架构从入门到精通,老师不让外传的内部笔记
笔记