Встречается на собеседованиях • сегодня

Как реализовать интерфейс

В Python интерфейсы реализуются через абстрактные базовые классы (ABC) из модуля abc. Это позволяет определить контракт, который должны реализовывать дочерние классы.

python
from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def area(self):
        pass
text
@abstractmethod
def perimeter(self):
    pass

class 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.radius
text

Ключевые моменты:
1. Наследование от `ABC` делает класс абстрактным
2. `@abstractmethod` помечает методы, которые должны быть реализованы
3. Попытка создать экземпляр класса с нереализованными абстрактными методами вызовет `TypeError`
4. Это механизм для обеспечения полиморфизма и соблюдения контракта
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы