Методы для строк в Питоне


На прошлом занятии мы изучили, что такое строки в Питоне и как с ними работать. Однако, это далеко не полный набор действий, который предназначен для строковых данных. Существуют ещё и так называемые методы. Дадим определение методу, а примеры рассмотрим на конкретных методах.


Методом называют функцию, применяемую к объекту. Метод в программном коде вызывается в виде Имя_объекта.Имя_метода(параметр_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
>

При помощи этих методов вы сможете более эффективно использовать строки и работать с ними. Успехов в освоении азов Питона!



Строки в Питоне