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

接口和协议

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

猴子补丁

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

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

子类化内置类

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

多重继承

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

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

多重继承处理

相关推荐
严文文-Chris1 小时前
【监督学习常用算法总结】
学习·算法
盐焗西兰花8 小时前
鸿蒙学习实战之路 - 图片预览功能实现
学习·华为·harmonyos
Xudde.9 小时前
friendly2靶机渗透
笔记·学习·安全·web安全·php
知识分享小能手9 小时前
CentOS Stream 9入门学习教程,从入门到精通, CentOS Stream 9 命令行基础 —语法知识点与实战详解(4)
linux·学习·centos
码界奇点9 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
摇滚侠9 小时前
零基础小白自学 Git_Github 教程,GitHub Action 基础概念,笔记22
笔记·git·github
车载测试工程师10 小时前
CAPL学习-ETH功能函数-通用函数
网络·学习·tcp/ip·capl·canoe
OAoffice10 小时前
智能学习培训考试平台如何驱动未来组织:重塑人才发展格局
人工智能·学习·企业智能学习考试平台·学练考一体化平台
linly121910 小时前
ERP学习笔记-频域分析之小波变换fieldtrip
笔记·学习
QiZhang | UESTC11 小时前
学习日记day40
学习