Junior — Middle
107
Могат ли да се използват интерфейси в Python и как се реализират?
Компаниите бяха попитани
СБЕР Бизнес
Отговор от 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, можно создавать интерфейсоподобные структуры, обеспечивая обязательную реализацию методов в наследниках.