Sobes.tech
Back to questions
Junior — Middle
60

Можно ли использовать интерфейсы в Python и как это реализуется?

Companies where asked
СБЕР Бизнес

Answer from AI

sobes.tech AI

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

Пример:

from abc import ABC, abstractmethod

class MyInterface(ABC):
    @abstractmethod
    def do_something(self):
        pass

class Implementation(MyInterface):
    def do_something(self):
        print("Реализация метода")

obj = Implementation()
obj.do_something()  # Выведет: Реализация метода

Таким образом, используя abc.ABC и декоратор @abstractmethod, можно создавать интерфейсоподобные структуры, обеспечивая обязательную реализацию методов в наследниках.