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

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

В Python есть несколько видов полиморфизма:

  1. Ad-hoc полиморфизм (перегрузка операторов) - один оператор работает по-разному с разными типами:
python
print(1 + 2)  # сложение чисел
print('a' + 'b')  # конкатенация строк
  1. Параметрический полиморфизм (дженерики) - функции/классы работают с разными типами:
python
def first_item(sequence):
    return sequence[0]

print(first_item([1, 2])) # 1
print(first_item('abc')) # 'a'

text

3. **Полиморфизм подтипов** (наследование) - дочерние классы переопределяют методы родителя:
```python
class Animal:
    def speak(self):
        pass

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

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

Python использует утиную типизацию - если объект ведет себя нужным образом (имеет нужные методы), его тип не важен. Это делает полиморфизм в Python более гибким по сравнению со статически типизированными языками.

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

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

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

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