Приведите пример полиморфизма во встроенных или стандартных библиотеках Python.

Полиморфизм виден в len(), итерации и file-like объектах: один интерфейс работает с разными типами. Например, функция может писать и в файл, и в io.StringIO через общий метод write.

Короткий ответ

Что ответить на собеседовании

Полиморфизм виден в len(), итерации и file-like объектах: один интерфейс работает с разными типами. Например, функция может писать и в файл, и в io.StringIO через общий метод write.

Подробный разбор

Ответ с пояснениями

Полиморфизм виден в len(), итерации и file-like объектах: один интерфейс работает с разными типами. Например, функция может писать и в файл, и в io.StringIO через общий метод write.

from io import StringIO

def greeting(stream):
    stream.write('Привет!\n')

buffer = StringIO()
greeting(buffer)

Тот же greeting работает с открытым текстовым файлом. Это duck typing: важен поддерживаемый контракт, а не обязательное наследование от одного пользовательского класса. Типизация Protocol может сделать такой контракт явным.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее