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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
瞎某某Blinder3 小时前
DFT学习记录[4] 电子和空穴的有效质量计算全流程
python·学习
zhangfeng11334 小时前
Warmup Scheduler深度学习训练中,在训练初期使用较低学习率进行预热(Warmup),然后再按照预定策略(如余弦退火、阶梯下降等)衰减学习率的方法
人工智能·深度学习·学习
日更嵌入式的打工仔4 小时前
LAN9253中文注释第七章
笔记·原文翻译
red_redemption6 小时前
自由学习记录(118)
学习
小猪佩奇TONY7 小时前
OpenCL 学习(5)---- OpenCL 内核和内核参数
学习
01二进制代码漫游日记7 小时前
自定义类型:联合和枚举(一)
c语言·开发语言·学习·算法
非凡ghost7 小时前
小X分身APP(手机分身类工具)
android·windows·学习·智能手机·软件需求
weixin_458872617 小时前
东华复试OJ每日3题打卡·复盘82~84
学习
昌兵鼠鼠8 小时前
LeetCode Hot100 哈希
学习·算法·leetcode·哈希算法
旖旎夜光8 小时前
哈希(14)(下)
数据结构·c++·学习