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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
数据轨迹0013 分钟前
ICCV MK-UNet:多核深度可分离卷积医学分割
经验分享·笔记·facebook·oneapi·twitter
头疼的程序员44 分钟前
计算机网络:自顶向下方法(第七版)第二章 学习分享(二)
学习·计算机网络
沉默-_-1 小时前
微信小程序页面配置详解
学习·微信小程序·apache·微信开发者工具
北京云帆互联科技1 小时前
云帆学习考试系统更新说明v8.8.0
学习·考试系统·高校考试系统
Quintus五等升2 小时前
深度学习③|分类任务—AlexNet
人工智能·经验分享·深度学习·神经网络·学习·机器学习·cnn
张心独酌2 小时前
学习Rust:实现RESTful 任务管理 API(Todo API)
学习·rust·restful
狐572 小时前
2026-01-20-论文阅读-Can-1B-LLM-Surpass-405B-LLM?
论文阅读·笔记
反向跟单策略2 小时前
如何正确看待期货反向跟单策略?
大数据·人工智能·学习·数据分析·区块链
QiZhang | UESTC3 小时前
学习日记day65
学习
Tiaoxiaobai3 小时前
如何实现亚细胞定位
人工智能·笔记