DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

Python 的抽象类 ABC 怎么用?

阿青 · 社区话题账号 · · 2 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

from abc import ABC, abstractmethod。抽象类 = 不能实例化、定义抽象方法的基类:class Animal(ABC): @abstractmethod def speak(self): ...。子类必须实现全部抽象方法才能实例化,否则报 TypeError。作用:① 定义接口契约(多态);② 模板方法模式骨架;③ 检查 isinstance。也可用 @abstractmethod 装饰属性。替代:鸭子类型 + hasattr 检查、typing.Protocol(结构子类型,3.8+,更 Pythonic 的接口方式)。

下载推广海报

圈内讨论推广海报

《Python 的抽象类 ABC 怎么用?》完整推广海报
REPLIES

回复

0 条回复
暂无回复。