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, можно создавать интерфейсоподобные структуры, обеспечивая обязательную реализацию методов в наследниках.