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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
小仙女的小稀罕3 小时前
培训要点写不完不会整理?规范培训转待办可这样操作
大数据·人工智能·学习·自然语言处理·语音识别
许长安3 小时前
RPC 异步调用基本使用方法:基于官方helloworld-async 示例
c++·经验分享·笔记·rpc
Wallace Zhang4 小时前
SimpleFOC源码学习10(v2.3.2) - 电流传感器CurrentSense.cpp与CurrentSense.h
驱动开发·stm32·学习·电流环·simplefoc·foc电机控制
sheeta19984 小时前
苍穹外卖Day12笔记
笔记
hnult4 小时前
AI 在线考试全流程 :考试云七大核心 AI 功能深度解读
人工智能·笔记·重构·课程设计
普通young man5 小时前
vim常用编辑和视图(个人笔记)
笔记·编辑器·vim
sheeta19985 小时前
LeetCode 每日一题笔记 日期:2026.05.07 题目:3660. 找到所有可以到达的最大值
笔记·算法·leetcode
wangcheng3035 小时前
智算集群:你身边的智能算力新形态
笔记
小仙女的小稀罕5 小时前
适合销售从业者会议整理使用的销售录音转任务工具
大数据·人工智能·学习·自然语言处理·语音识别
普通网友6 小时前
HTML5新增了哪些重要标签?多多学习也是成长的一部分
前端·学习·html5