Встречается на 1% собеседований по Python
Как реализовать интерфейс
В Python интерфейсы реализуются через абстрактные базовые классы (ABC) из модуля abc. Это позволяет определить контракт, который должны реализовывать дочерние классы.
python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
text
@abstractmethod
def perimeter(self):
passclass Circle(Shape):
def init(self, radius):
self.radius = radius
text
def area(self):
return 3.14 * self.radius ** 2
def perimeter(self):
return 2 * 3.14 * self.radiustext
Ключевые моменты:
1. Наследование от `ABC` делает класс абстрактным
2. `@abstractmethod` помечает методы, которые должны быть реализованы
3. Попытка создать экземпляр класса с нереализованными абстрактными методами вызовет `TypeError`
4. Это механизм для обеспечения полиморфизма и соблюдения контракта
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы