logo

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

У строк в 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

Срезы строк

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

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.