Основы Python
Теория: Объекты
До этого момента мы работали только с функциями: они получают данные, что-то делают с ними и возвращают результат. Но в Python есть ещё один похожий механизм — методы.
Метод — это та же функция, только «привязанная» к конкретному значению определённого типа данных. То есть вместе с самим значением мы получаем набор функций, которые умеют с ним работать.
Методы строк
Например, у строк есть свои методы для преобразования текста. Метод upper() переводит все буквы в верхний регистр:
В отличие от функций, у методов сначала пишется значение (строка text), затем через точку имя метода (upper), и уже потом скобки.
Встроенных методов у строк довольно много. Ниже некоторые из них:
Некоторые методы принимают параметры. Например, у метода replace() первый параметр — это подстрока, которую нужно заменить, а второй — строка-замена.
Методов в Python действительно много, и их не учат наизусть. Обычно программисты в процессе работы запоминают, какие операции им вообще нужны и как примерно называются такие методы. А когда возникает задача — они либо вспоминают подходящий метод, либо быстро находят его в документации.
Метод и функция — в чём разница
С точки зрения кода, методы и функции ведут себя похоже: они принимают значения и возвращают результат. Разница в том, как они вызываются:
Функция вызывается снаружи и получает аргумент в скобках. Метод — это как будто операция, встроенная в само значение. Под капотом значение передается внутрь как нулевой параметр, но это скрыто от нас.
Методы возвращают значения
Методы работают точно так же, как функции: они возвращают результат, а не выводят его на экран. Это значит, что их можно использовать в составе выражений:
Методы строк не изменяют саму строку, а возвращают новую. Это поведение называется иммутабельностью. Мы ещё поговорим об этом позже, но пока важно понимать, что строка остаётся прежней, а результат метода — это новое значение.
Зачем нужны методы в Python
В Python часть возможностей реализована именно как методы. Это позволяет сгруппировать операции рядом с типами данных, к которым они относятся. У строк есть один набор методов, у чисел другой, у списков третий. Таким образом, в языке сосуществуют два способа работы: функции общего назначения и методы, "прикреплённые" к конкретным типам.








