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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
memoryjs4 分钟前
鸿蒙系统进一步学习(二):ArkUI底层原理揭秘
学习·华为·harmonyos
燐妤20 分钟前
前端HTML编程2:深入学习表单与表格
前端·学习·html5
疯狂成瘾者33 分钟前
Docker的学习路线
学习·docker·容器
for_ever_love__35 分钟前
UI学习:UITableViewCell的创建及复用机制
学习·ui·objective-c
羊群智妍37 分钟前
2026免费GEO监测工具技术评测与使用
笔记
maosheng114641 分钟前
HCIA的笔记(第四天)
笔记
YaBingSec43 分钟前
玄机网络安全靶场:Jackson-databind 反序列化漏洞(CVE-2017-7525)
linux·网络·笔记·安全·web安全
随风,奔跑1 小时前
Mybatis-Plus学习笔记
java·笔记·学习·mybatis
求学的小高1 小时前
数据结构Day10(ASL、二分查找、分块查找)
数据结构·笔记·考研
我能坚持多久1 小时前
C++的Vector学习:从功能探索到底层实现
开发语言·c++·学习