Что такое утиная типизация в Python

Python Middle Без компании
Что такое утиная типизация в Python
Ответы
Утиная типизация (duck typing) — это концепция, при которой тип объекта определяется не его классом, а наличием нужных методов и атрибутов. Если объект "крякает как утка и плавает как утка", то он считается уткой, даже если формально не принадлежит к классу `Duck`. Пример: ``` class Duck: def quack(self): print("Quack!") class Person: def quack(self): print("I'm quacking like a duck!") def make_it_quack(thing): thing.quack() duck = Duck() person = Person() make_it_quack(duck) # Quack! make_it_quack(person) # I'm quacking like a duck! ``` Здесь `make_it_quack` работает с любым объектом, у которого есть метод `quack()`, независимо от его типа. Это делает код гибким, но требует внимания — если передать объект без нужного метода, получим `AttributeError`.