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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
charlie11451419121 小时前
在上位机上熟悉FreeRTOS API
笔记·学习·嵌入式·c·freertos·工程
EveryPossible21 小时前
状态丢失问题
学习
Roye_ack1 天前
【leetcode hot 100】刷题记录与总结笔记(4/100)
笔记·算法·leetcode
深蓝海拓1 天前
PySide6从0开始学习的笔记(五) 信号与槽
笔记·qt·学习·pyqt
刘孬孬沉迷学习1 天前
GTP协议
开发语言·学习·5g·php·信息与通信
不夜牛仔1 天前
算法笔记19 - 图和通用结构 | 图的两种遍历 | 三种拓扑排序 | 两种最小生成树算法Kruskal, Prim | 最短路径算法Dijkstra
笔记·算法
炽烈小老头1 天前
【每天学习一点算法2025/12/16】二叉树的最大深度
学习·算法
白云千载尽1 天前
基础命令学习之ps 与 pkill 与 nohup 与 2>&1 &
服务器·学习·远程
Lv11770081 天前
Visual Studio 中的字符串
ide·笔记·c#·visual studio
Lv11770081 天前
Visual Studio中的 var 和 dynamic
ide·笔记·c#·visual studio