快速入门 abc 模块
快速入门 abc 模块
在 Python 中,抽象类(Abstract Base Class, ABC)是一种不能被直接实例化的类,它主要用于定义一套子类必须遵守的接口规范。抽象类通过强制子类实现特定的方法,来保证代码的一致性和可维护性。
比如我们需要定义一个图形类,要求所有的子类(三角形、圆形、矩形等等)都必须实现计算面积和周长的方法。我们可以使用抽象类来实现这一点。
抽象类及抽象方法
现在定义一个抽象类及若干抽象方法(通过@abstractmethod),其子类必须实现这些抽象方法:
|
|
上面的代码创建一个抽象类 Shape,以及如何实现它的子类 Circle 和 Rectangle。注意,Rectangle 类没有实现 perimeter 方法,因此尝试实例化它会引发错误。
抽象属性
还可以定义抽象抽象属性(通过@abstractmethod和@property):
|
|
上面的代码创建若干只读的抽象属性 age、name 和 gender。任何继承自 Person 的子类都必须实现这些属性,否则会抛出错误。
下一步
本篇主旨是帮助读者快速入门 logging 模块,想要详细掌握需要阅读 abc — 抽象基类。
最后更新于