Duck typing — если объект ходит как утка и крякает как утка, это утка. Python не проверяет тип, проверяет наличие методов. len() вызывает __len__(), for вызывает __iter__() — неважно, какой класс. Не нужно наследование от интерфейса. Это делает код гибким: функция принимает "что угодно с методом read()" вместо "только File". Минус — ошибки только в runtime. Типизация (Protocol, type hints) добавляет статическую проверку, сохраняя duck typing. EAFP стиль идеально сочетается с duck typing.
Что такое duck typing в Python?
Middle
368 просмотровAFK Offer AI
Как работает try/except/finally?