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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
茯苓gao4 小时前
机器人产业的三级火箭:卖电机、卖模组与卖整机,三种商业模式的终局推演
笔记·学习·机器人
mm9954205 小时前
PMI三大证书:PMP、PgMP、PfMP证书对比
学习·职场和发展·项目管理·学习方法·pmp
LuminousCPP5 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
马里马里奥-5 小时前
大模型应用开发笔记04:LangChain 工具(Tool)与中间件(Middleware)详解
笔记·中间件·langchain
铅笔侠_小龙虾5 小时前
Rust 学习(4)-函数与注释
开发语言·学习·rust
猪头少年不会遇见算法学姐6 小时前
Makefile快速上手笔记
linux·学习
崖边看雾6 小时前
记录Python学习——第一章环境安装下载(Windows)
windows·python·学习·pycharm
乐橙开放平台6 小时前
巡店系统笔记:乐橙 listDeviceDetailsByPage 台账 + bindDeviceLive 辅码流最小闭环
网络·笔记·物联网·自动化·音视频·智能家居
dankokoko7 小时前
7.13-7.14学习
学习
一楼的猫8 小时前
网文AI辅助怎么过审?番茄200+维度检测与去AI味实战
人工智能·学习·机器学习·自然语言处理·ai写作