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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
lihao lihao几秒前
平衡二叉树
笔记
wubba lubba dub dub75016 分钟前
第三十三周 学习周报
学习·算法·机器学习
JavaLearnerZGQ29 分钟前
我的Redis笔记2【分布式缓存】
redis·笔记·缓存
代码游侠30 分钟前
复习——ARM Cortex-A 裸机开发深度解析
arm开发·笔记·嵌入式硬件·学习·架构
吗喽15434518834 分钟前
渗透高级第一次作业(笔记整理)
笔记·安全·网络安全
小+不通文墨1 小时前
“示波器的调节和使用”实验报告
经验分享·笔记·学习·学习方法
鸢尾掠地平1 小时前
如何制作一个简单的学习教务系统?
css·学习·css3
2501_937798391 小时前
2026年GEO行业趋势与企业服务选型指南
笔记
Jerry_Gao9211 小时前
【成长笔记】【web安全】深入Web安全与PHP底层:四天实战课程笔记
笔记·安全·web安全·php·漏洞
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][base]cpu
linux·笔记·学习