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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
许长安几秒前
gRPC Keepalive 机制
c++·经验分享·笔记·rpc
YangYang9YangYan1 分钟前
2026运营岗位学习数据分析对于提升个人能力的价值
学习·数据挖掘·数据分析
吃好睡好便好6 分钟前
在Matlab中绘制抛物三维曲面图
开发语言·人工智能·学习·算法·matlab·信息可视化
Bechamz8 分钟前
大数据开发学习Day33
大数据·学习
RainCity14 分钟前
Java Swing 自定义组件库分享(五)
java·笔记·后端
脆皮炸鸡75523 分钟前
库制作与原理~静态库&静态链接
linux·经验分享·笔记·学习方法
书生的梦26 分钟前
《神经网络与深度学习》学习笔记(一)
笔记·深度学习·神经网络
星夜夏空9930 分钟前
STM32单片机学习(12)——串口通信相关概念
stm32·单片机·学习
HSunR30 分钟前
神经网络 从函数到transformer学习笔记
神经网络·学习·transformer
袁小皮皮不皮41 分钟前
HCIP-BFD 学习笔记
运维·服务器·网络·笔记·网络协议·学习·智能路由器