Полиморфизм в Python: понимание и применение
Полиморфизм в Python - это возможность объектов разных классов иметь одинаковые методы или атрибуты и возможность использовать эти методы или атрибуты без необходимости знать о точном типе объекта.
Примером полиморфизма в Python может служить использование методов `len()` и `str()` для различных типов данных. Например:
>>> list1 = [1, 2, 3, 4]
>>> tuple1 = (1, 2, 3, 4)
>>> str1 = "1234"
>>> len(list1)
4
>>> len(tuple1)
4
>>> len(str1)
4
>>> str(list1)
'[1, 2, 3, 4]'
>>> str(tuple1)
'(1, 2, 3, 4)'
>>> str(str1)
'1234'
Здесь мы использовали метод `len()` для списка, кортежа, и строки. Во всех случаях результат будет одинаковым - количество элементов. Также мы использовали метод `str()` для списка, кортежа, и строки. В результате мы получили строковое представление этих объектов.
Другой пример полиморфизма в Python может быть связан с использованием операторов. Например, оператор `+` может использоваться для сложения чисел:
>>> x = 1
>>> y = 2
>>> z = x + y
>>> print(z)
3
но также можно использовать его для объединения списков и строк:
>>> list1 = [1, 2, 3]
>>> list2 = [4, 5, 6]
>>> list3 = list1 + list2
>>> print(list3)
[1, 2, 3, 4, 5, 6]
>>> str1 = "Hello"
>>> str2 = "World"
>>> str3 = str1 + " " + str2
>>> print(str3)
Hello World
Здесь мы использовали оператор `+` для сложения списков и для объединения строк. Во всех случаях результат был ожидаемым, хотя типы данных были различными.
В общем, полиморфизм в Python очень мощное свойство, которое позволяет писать более гибкий и переиспользуемый код. Он основывается на идее "одного интерфейса, множества методов", где объекты разных классов могут иметь одинаковые методы или атрибуты и использоваться без необходимости знать о точном типе объекта.