Авторизация
Забыли пароль? Введите ваш е-мейл адрес. Вы получите письмо на почту со ссылкой для восстановления пароля.
После регистрации вы сможете задавать вопросы и писать свои ответы, получая за это бонусы. Все остальные функции на сайте доступны без регистрации.
Вы должны войти или зарегистрироваться, чтобы добавить ответ и получить бонусы.
Полиморфизм в Python — это возможность объектов разных типов обрабатываться одинаково, при условии, что они реализуют одинаковые методы или операторы. Это позволяет использовать одну и ту же функцию или метод для работы с разными типами данных, что делает код более гибким и удобным для использования.
В Python полиморфизм может быть достигнут через наследование и использование полиморфных функций или методов. Например, если у нас есть классы «Круг» и «Прямоугольник», которые оба имеют метод «площадь», мы можем создать функцию, которая принимает объекты этих классов и вызывает их метод «площадь» без необходимости знать конкретный тип объекта.
Пример:
«`python
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius * self.radius
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
def print_area(shape):
print(«Площадь:», shape.area())
circle = Circle(5)
rectangle = Rectangle(4, 6)
print_area(circle) # Вывод: Площадь: 78.5
print_area(rectangle) # Вывод: Площадь: 24
«`
В этом примере функция `print_area` принимает объекты типа «Круг» и «Прямоугольник» и вызывает их метод «площадь». Оба объекта могут быть обработаны одинаково, несмотря на то, что они имеют разные типы. Это и есть полиморфизм в Python.