Python 的抽象类 ABC 怎么用?
from abc import ABC, abstractmethod。抽象类 = 不能实例化、定义抽象方法的基类:class Animal(ABC): @abstractmethod def speak(self): ...。子类必须实现全部抽象方法才能实例化,否则报 TypeError。作用:① 定义接口契约(多态);② 模板方法模式骨架;③ 检查 isinstance。也可用 @abstractmethod 装饰属性。替代:鸭子类型 + hasattr 检查、typing.Protocol(结构子类型,3.8+,更 Pythonic 的接口方式)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。