Какие знаешь типы полиморфизма в Python

Python Middle Arendadata
Какие знаешь типы полиморфизма в Python
Ответы
В Python есть несколько видов полиморфизма: - **Ad-hoc полиморфизм** (перегрузка операторов) - один оператор работает по-разному с разными типами: ``` print(1 + 2) # сложение чисел print('a' + 'b') # конкатенация строк ``` - **Параметрический полиморфизм** (дженерики) - функции/классы работают с разными типами: ``` def first_item(sequence): return sequence[0] print(first_item([1, 2])) # 1 print(first_item('abc')) # 'a' ``` - **Полиморфизм подтипов** (наследование) - дочерние классы переопределяют методы родителя: ``` class Animal: def speak(self): pass class Dog(Animal): def speak(self): return "Woof!" class Cat(Animal): def speak(self): return "Meow!" ``` Python использует утиную типизацию - если объект ведет себя нужным образом (имеет нужные методы), его тип не важен. Это делает полиморфизм в Python более гибким по сравнению со статически типизированными языками.