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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
寒秋花开曾相惜2 小时前
(学习笔记)第四章 处理器体系结构
linux·网络·数据结构·笔记·学习
低代码布道师3 小时前
微搭低代码MBA 培训管理系统实战 30——学习卡
学习·低代码·rxjava
南無忘码至尊3 小时前
Unity学习90天 - 第 6天 - 学习协程 Coroutine并实现每隔 2 秒生成一波敌人
学习·unity·c#·游戏引擎
LN花开富贵4 小时前
【ROS】鱼香ROS2学习笔记二
linux·笔记·python·学习·嵌入式
檬柠wan4 小时前
MySQL-数据库增删改查学习
数据库·学习·mysql
ouliten4 小时前
C++笔记:std::invoke
c++·笔记
minglie15 小时前
Zynq 开发中的工程文件管理
学习
炽烈小老头6 小时前
【每天学习一点算法 2026/04/16】逆波兰表达式求值
学习·算法
千寻girling7 小时前
机器学习 | 线性回归 | 尚硅谷学习
学习·机器学习·线性回归
风曦Kisaki7 小时前
# LAMP 架构 + Discuz! 论坛实战笔记
笔记·架构