Junior — Middle
105
Μπορούν να χρησιμοποιηθούν διεπαφές σε 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, можно создавать интерфейсоподобные структуры, обеспечивая обязательную реализацию методов в наследниках.