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

Как связан полиморфизм с утиной типизацией в 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()  # Неважно, что за тип, главное — метод quack()

make_it_quack(Duck())   # Quack!
make_it_quack(Person()) # I'm quacking like a duck!

Здесь Duck и Person полиморфны относительно make_it_quack(), так как оба реализуют метод quack(), несмотря на отсутствие общего родителя. Утиная типизация делает полиморфизм в Python более гибким по сравнению с языками с строгой типизацией.

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

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

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

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