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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
楼田莉子12 小时前
Linux学习:进程信号
linux·运维·服务器·c++·学习
●VON12 小时前
React Native for OpenHarmony:井字棋游戏的开发与跨平台适配实践
学习·react native·react.js·游戏·性能优化·交互
盐焗西兰花12 小时前
鸿蒙学习实战之路-Reader Kit获取目录列表最佳实践
学习·华为·harmonyos
AI视觉网奇12 小时前
ue 安装报错MD-DL ue 安装笔记
笔记·学习·ue5
KeeBoom12 小时前
嵌入式 Linux 应用开发完全手册——阅读笔记14
linux·笔记
pop_xiaoli12 小时前
effective-Objective-C 第一章阅读笔记
开发语言·笔记·ios·objective-c·cocoa·xcode
崇山峻岭之间12 小时前
Matlab学习记录42
学习
暴躁小师兄数据学院12 小时前
【WEB3.0零基础转行笔记】基础知识篇-第二讲:以太坊基础
笔记·web3·区块链
星幻元宇VR12 小时前
消防数字展厅智能升级|AR消防巡检员体验系统
学习·安全·ar·虚拟现实
tq108612 小时前
别为问题预设答案
笔记