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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
雾岛听蓝20 分钟前
Qt操作指南:状态栏、浮动窗口与对话框使用
开发语言·经验分享·笔记·qt
APIshop25 分钟前
小红书笔记视频详情接口深度解析:smallredbook.item_get_video_pro
数据库·笔记·音视频
y = xⁿ28 分钟前
MySQL学习笔记:乐观锁VS悲观锁/八股总结
笔记·学习·mysql
d111111111d43 分钟前
STM32-UART抽象层封装
笔记·stm32·单片机·嵌入式硬件·学习
chushiyunen1 小时前
notion(模块化数字工作台)笔记
笔记·notion
华清远见IT开放实验室1 小时前
嵌入式系统化课程 学习内容与服务说明
linux·stm32·学习·嵌入式·全栈·虚拟仿真·测评中心
爱上好庆祝1 小时前
学习js的第2天
前端·css·学习·html·css3
三品吉他手会点灯2 小时前
C语言学习笔记 - 12.C语言简介 - 一元二次方程详解
c语言·笔记·学习
Joseph Cooper3 小时前
STM32MP157 Linux驱动学习笔记(五):子系统与工程边界(V4L2/IIO/devmem/UIO)
linux·stm32·学习