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

Можно ли написать интерфейс в Python

Да, в 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. Класс-наследник обязан реализовать все абстрактные методы
4. Нельзя создать экземпляр абстрактного класса

Также можно использовать протоколы (PEP 544) для структурной типизации.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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