Важно знать, как использовать абстрактные классы в Python для определения интерфейсов. Это поможет создать более структурированный и поддерживаемый код, обеспечивая, что все подклассы реализуют необходимые методы.
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * (self.radius ** 2)