Функции len() можно передать строку, чтобы узнать, сколько символов она содержит, но len() также можно передать список или словарь, чтобы узнать, сколько элементов или пар «ключ — значение» они содержат. Эта разновидность полиморфизма называется параметрическим полиморфизмом, или обобщением, потому что она может работать с объектами многих разных типов.
Термином «полиморфизм» также иногда обозначают ситуативный (ad hoc) полиморфизм, или перегрузку операторов, когда операторы (такие как + или *) демонстрируют разное поведение в зависимости от типа объектов, с которыми они работают. Например, оператор + выполняет математическое сложение для двух целых чисел или чисел с плавающей точкой, но с двумя строками он выполняет конкатенацию.
Python. Чистый код для продолжающих
·
Свейгарт Эл