Методы строк в Python для начинающих

Самоучитель

Методы строк для начинающих

У строк в Python есть множество полезных методов для того, чтобы дать возможность делать со строками различные полезные и нужные действия.

Методы похожи на функции, их тоже можно вызывать и, так же как и функции, они могут возвращать результат своей работы. Отличие же методов в том, что они привязаны к определенному типу данных и, например, методы строк могут быть вызваны только у строк.

Все методы строк можно посмотреть в нашем справочнике, а вот несколько примеров того, как вызывать методы строк.

string = "Hello world!"
print(string.lower())  # hello world!
print(string.upper())  # HELLO WORLD!

Начинающему программисту важно помнить, что методы не меняют исходную строку. Строки в Python вообще нельзя изменить. Если вы хотите поменять все ее символы, например, на символы нижнего регистра, нужно присвоить строке новое значение

string = "Hello world!"
string = string.lower()

Индексы строк

Бывает так, что иногда появляется необходимость выбирать отдельные символы из строки. В Python для этого необходимо использовать квадратные скобки. В таблице ниже приведены примеры получения символа строки по индексу строки Python, помещенной в переменную string.

Код Результат Описание
s[0] P Первый символ
s[1] y Второй символ
s[-1] n Последний символ
s[-2] o Предпоследний символ

Как вы видите, необходимо учитывать, что номером индекса первого символа будет [0] Отрицательный индекс будет отсчитывать символы с конца строки. Распространенная ошибка: предположим, что мы пытаемся задать индекс s[12]. Но в примере выше мы имеем всего шесть элементов строки, и логично что Python выдаст ошибку следующего содержания:

IndexError: string index out of range
Хотите выучить Python на практике?
Теория и практические задачи для закрепления на Python для начинающих. Быстрая проверка, подсказки к ошибкам на русском языке. От простого к сложному. Работает без установки в любом современном браузере.

Срезы строк

Срез используется для выделения части строки. Он состоит из индекса и диапазона. Ниже расположены несколько примеров со строкой

string = 'абвгдежзик'

Индекс

0 1 2 3 4 5 6 7 8 9

Символ

а б в г д е ж з и к
Фрагмент кода Результат Описание
string[ 2 : 5 ] вгд Символы с индексом 2, 3, 4
string[ : 5 ] абвгд Первые пять символов
string[ 5 : ] ежзик Символы, начиная с индекса 5 и до конца
string[ −2 : ] ик Последние два символа
string[ : ] абвгдежзик Вся строка
string[1 : 7 : 2] бге Со второго по шестой символы, через один
string[ : : −1 ] кизжедгвба Обратный шаг, строка наоборот

Базовая структура среза выглядит следующим образом: Строка[начальный_символ : конечный_символ + 1]

Срезы не включают явное расположение окончания строки. Например, в приведенном выше примере string[2 : 5], Python выведет символы с индексами 2, 3 и 4, но не символ с индексом 5.

Мы можем оставить, вместо индекса начала или окончания строки, пустоту. Пустота на месте индекса начала будет по умолчанию равна нулю. Итак, string[: 5] выведет первые пять символов строки string. А в случае string[5 :], Python покажет символы, начиная с индекса 5 и до конца строки. Если же использовать отрицательные индексы, мы получим символы с конца строки. Например, string[-2 :] — это последние два символа.

Также существует необязательный третий аргумент, который указывает на шаг среза строки. Например, string[1 : 7 : 2] берет каждый второй символ из строки с индексом 1, 3 и 5.