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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
Naiva1 小时前
【小技巧】Microchip 把 MPLAB X IDE工程编码改成 UTF-8
笔记
ndjnddjxn4 小时前
Rust学习
开发语言·学习·rust
菜鸟‍4 小时前
【后端学习】MySQL数据库
数据库·后端·学习·mysql
陈天伟教授4 小时前
基于学习的人工智能(1)机器学习
人工智能·学习
im_AMBER4 小时前
Leetcode 59 二分搜索
数据结构·笔记·学习·算法·leetcode
专注于大数据技术栈4 小时前
java学习--final
java·开发语言·学习
田里的水稻4 小时前
AI_常见“XX学习”术语速查表
人工智能·学习
Nan_Shu_6145 小时前
学习:Sass
javascript·学习·es6
天殇凉5 小时前
AC自动机学习笔记
java·笔记·学习
AA陈超5 小时前
从0开始学习 **Lyra Starter Game** 项目
c++·笔记·学习·游戏·ue5·lyra