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

Является ли утиная типизация одним из типов полиморфизма в Python

Да, утиная типизация — это форма полиморфизма в Python. Она основана на принципе: "Если что-то выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, утка". Вместо проверки типов Python полагается на наличие нужных методов и атрибутов у объекта.

Пример:

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(), демонстрируя полиморфизм через утиную типизацию.

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

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

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

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