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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
初学者7.10 分钟前
lodash手写源码-cloneDeep,debounce,throttle
笔记·学习·loadsh
eggcode1 小时前
IDEA与Maven使用-学习记录(持续补充...)
学习·maven·intellij-idea
孞㐑¥2 小时前
C++vector类
开发语言·c++·经验分享·笔记
charlie1145141913 小时前
从0开始的操作系统手搓教程33:挂载我们的文件系统
学习·系统架构·操作系统·教程·文件系统·手搓教程
柒十三.4 小时前
江科大51单片机笔记【12】DS18B20温度传感&温度报警器(下)
笔记·嵌入式硬件·51单片机
!!!5254 小时前
Spring Cloud Gateway 笔记
笔记·spring cloud·gateway
雨墨C4 小时前
LLM学习之路-01-第一章-预训练/搞懂大模型的分词器(二)
人工智能·学习·自然语言处理·chatgpt·大模型·transformer
skywalk81634 小时前
OWL(Optimized Workforce Learning): 优化劳动力学习的通用智能体,用于处理现实世界的自动化任务(58.18 平均分)
人工智能·学习·自动化·agent
charlie1145141914 小时前
IMX6ULL驱动开发uboot篇02
驱动开发·学习·操作系统·内核·教程·uboot