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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
海绵宝宝转agent18 分钟前
leetCode100算法开源笔记分享
笔记·算法
小黄蚁31 分钟前
使用LVGL模拟示波器创建正弦函数波形
单片机·学习
辣知1 小时前
辣知·化智71 四川广汉三星堆的金铜贝
学习
天天进步20151 小时前
90天AI接单学习路线:从LLM应用到AI Agent
人工智能·学习
vx_Biye_Design1 小时前
springboot小学生英语学习APP62773-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·学习·课程设计
91刘仁德1 小时前
Linux网络编程从入门到实战:UDP/TCP协议与socket编程全解析
linux·网络·笔记·tcp/ip·udp
@Mike@1 小时前
13-数据库学习笔记(查询执行处理模型)
数据库·笔记·学习
Go Work2 小时前
实体类字段用 @Value 赋了默认值,取出来还是 null?
经验分享·笔记
白杨尚青2 小时前
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
开发语言·c++·笔记·算法·stl
传奇开心果编程2 小时前
【ArkUI进阶练中学】第13课:元服务与卡片开发
学习·ui·华为·harmonyos