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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
雍凉明月夜4 分钟前
c++ 精学笔记记录Ⅲ
c++·笔记·学习
wxh_无香花自开14 分钟前
Linux 笔记:rpm命令
linux·运维·笔记·rpm
li星野15 分钟前
打工人日报#20251218
笔记
(●—●)橘子……16 分钟前
记力扣1471.数组中的k个最强值 练习理解
数据结构·python·学习·算法·leetcode
阿蒙Amon19 分钟前
JavaScript学习笔记:17.闭包
javascript·笔记·学习
想不出名字ಥ_ಥ25 分钟前
STM32学习笔记--01学会如何点亮一颗LED灯
笔记·stm32·学习
摇滚侠1 小时前
Redis 零基础到进阶,Redis 主从复制,笔记55-62
数据库·redis·笔记
لا معنى له1 小时前
学习笔记:循环神经网络(RNN)
人工智能·笔记·学习·机器学习
炒毛豆1 小时前
前端可视化-----svg学习笔记
笔记·学习
暗之星瞳1 小时前
PYTHON学习——决策树
python·学习·随机森林