Методы для строк в Питоне
На прошлом занятии мы изучили, что такое строки в Питоне и как с ними работать. Однако, это далеко не полный набор действий, который предназначен для строковых данных. Существуют ещё и так называемые методы. Дадим определение методу, а примеры рассмотрим на конкретных методах.
Методом называют функцию, применяемую к объекту. Метод в программном коде вызывается в виде Имя_объекта.Имя_метода(параметр_1, параметр_2, ..., параметр_n).
Методами для строк можно назвать функции, которые применяются исключительно к строковым значениям.

Метод find
Метод find находит в строке подстроку (которая передается в качестве параметра). Результатом выполнения метода является возвращение индекса первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1.
Пример использования метода find с буквой
stroka="Привет!"
a=stroka.find("е") # применение к строке stroka метода find с одним параметром "e".
print(a)
Результат использования метода find с буквой
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
4
>
Пример использования метода find с подстрокой
s="Привет!"
a=stroka.find("вет")
print(a)
Результат использования метода find с подстрокой
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
3
>
Пример использования метода find с "чужой" подстрокой
s="Привет!"
a=stroka.find("кар")
print(a)
Результат использования метода find с "чужой" подстрокой
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
-1
>
Если вызвать метод find с тремя параметрами stroka.find(T, a, b), то поиск будет осуществляться в срезе stroka[a:b]. Если указать только два параметра stroka.find(T, a), то поиск будет осуществляться в срезе stroka[a:], то есть, начиная с символа с индексом a и до конца строки.
Внимание! Метод stroka.find(T, a, b) возвращает индекс в строке stroka, а не индекс относительно среза.
Пример использования метода find со срезом
s="Привет!"
a=s.find("ве",2,5)
print(a)
Результат использования метода find со срезом
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
3
>
Метод rfind
Метод rfind, работает аналогично, но возвращает индекс последнего вхождения данной строки (так называемый “поиск справа”).
Пример использования метода rfind
stroka="Привет!"
a=stroka.rfind("ве")
print(a)
Результат использования метода rfind
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
3
>
Метод replace
Методом replace заменяют все вхождения одной подстроки (старой) на другую (новую).
Формат: stroka.replace(o, n) — заменить в строке stroka все вхождения подстроки o на подстроку n.
Пример применения метода replace
stroka="Привет!"
a=stroka.replace("При", "Кю")
print(a)
Результат применения метода replace
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
Кювет!
>
Если методу replace задать еще один параметр: stroka.replace(o, n, schet), то заменены будут не все вхождения, а только не больше, чем первые schet из них.
Пример использования параметра schet
stroka="Привет!"*8
a=stroka.replace("При", "Кю",5)
print(a)
Результат использования параметра schet
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
Кювет!Кювет!Кювет!Кювет!Кювет!Привет!Привет!Привет!
>
Метод count
Этим методом подсчитывается количество вхождений одной подстроки в другую. Простейшая форма вызова stroka.count(T) возвращает число вхождений строки T внутри строки stroka.
Пример использования метода count
stroka="Привет!"*8
a=stroka.count("При")
print(a)
Результат использования метода count
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
8
>
если указать три параметра stroka.count(T, a, b), будет выполнен подсчет числа вхождений строки T в срезе stroka[a:b].
Пример использования метода count со срезом
stroka="Привет!"*8
a=stroka.count("При", 0, 20)
print(a)
Результат использования метода count со срезом
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
>
3
>
При помощи этих методов вы сможете более эффективно использовать строки и работать с ними. Успехов в освоении азов Питона!
Строки в Питоне