from abc import abstractmethod作用,代码举例
时间: 2023-10-02 13:09:53 浏览: 88
`from abc import abstractmethod` 是Python中用于导入abc库中的abstractmethod装饰器的语句。abstractmethod装饰器是Python中定义抽象方法的关键,它用于标识一个方法是抽象的,不能被直接调用,必须由子类重写实现。
下面是一个使用abstractmethod装饰器定义抽象方法的示例代码:
```python
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
d = Dog()
print(d.speak())
c = Cat()
print(c.speak())
```
在这个例子中,我们定义了一个抽象基类Animal,并在其中定义了一个抽象方法speak。由于speak方法被abstractmethod装饰器标识为抽象方法,因此不能被直接调用。
我们还定义了两个具体类Dog和Cat,它们都继承自Animal类,并实现了speak方法。由于Dog和Cat类都实现了Animal类中的抽象方法speak,因此它们都是Animal类的合法子类。
在程序的最后,我们创建了一个Dog对象d和一个Cat对象c,并分别调用它们的speak方法输出它们的叫声。由于Dog和Cat类都实现了speak方法,因此程序能够正常输出它们的叫声。
这个例子展示了abstractmethod装饰器的用法,它可以帮助我们定义抽象方法,并保证所有继承自抽象基类的类都实现了这些抽象方法,从而提高了代码的可靠性和可维护性。
阅读全文