Встречается на собеседованиях • сегодня

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

Утиная типизация (duck typing) — это концепция, при которой тип объекта определяется не его классом, а наличием нужных методов и атрибутов. Если объект "крякает как утка и плавает как утка", то он считается уткой, даже если формально не принадлежит к классу Duck.

Пример:

python
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.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы