Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: polymorphism, oop

Что такое полиморфизм?

Этот вопрос проверяет понимание принципа полиморфизма, который позволяет объектам разных классов использовать одинаковый интерфейс.

Короткий ответ

Полиморфизм — это возможность объектов разных классов использовать методы с одинаковыми именами, предоставляя разное поведение. В Python это достигается через переопределение методов (method overriding) или динамическую типизацию (duck typing).

Длинный ответ

Полиморфизм позволяет вызывать одинаковые методы на объектах разных классов, и каждый объект реализует своё поведение. В Python это реализуется через:

  • Переопределение методов: подкласс предоставляет свою реализацию метода, определённого в родительском классе.

  • "Утиная типизация" (duck typing): объект рассматривается по его поведению, а не типу.

Пример с переопределением:

class Animal:
    	def speak(self):
        	pass

class Dog(Animal):
    	def speak(self):
        	return "Woof"

class Cat(Animal):
    	def speak(self):
        	return "Meow"

def animal_sound(animal):
    	print(animal.speak())

animal_sound(Dog())  # Woof
animal_sound(Cat())  # Meow

Пример утиной типизации:

class Bird:
    	def fly(self):
       		print("I can fly")

class Plane:
    	def fly(self):
        	print("I can fly too!")

def make_fly(obj):
    	obj.fly()

make_fly(Bird())  # I can fly
make_fly(Plane())  # I can fly too!
  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    4

Навыки

  • Python

    Python

Ключевые слова

#polymorphism

#oop

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.