abstractmethod用法
时间: 2023-10-01 20:08:33 浏览: 64
`abstractmethod` 是一个装饰器,用于定义抽象方法。抽象方法是指只声明了方法名,但没有具体实现的方法,必须在子类中实现的方法。
在 Python 中,抽象方法是通过使用 `abc` 模块中的 `ABC` 类和 `abstractmethod` 装饰器来实现的。具体用法如下:
```python
import abc
class MyAbstractClass(abc.ABC):
@abc.abstractmethod
def my_abstract_method(self):
pass
class MyClass(MyAbstractClass):
def my_abstract_method(self):
print("Implemented abstract method")
my_class = MyClass()
my_class.my_abstract_method() # "Implemented abstract method"
```
在上面的例子中,我们定义了一个抽象基类 `MyAbstractClass`,它定义了一个抽象方法 `my_abstract_method`。`MyClass` 继承自 `MyAbstractClass`,并实现了 `my_abstract_method` 方法。在 `MyClass` 中,我们必须实现 `my_abstract_method` 方法,否则会抛出 `TypeError` 异常。
使用 `abstractmethod` 装饰器可以让我们在定义抽象方法时更加清晰明确,同时也可以让 Python 解释器在调用抽象方法时进行类型检查,避免出现错误。
阅读全文