Найти в Дзене
Python - простым языком

1.13. Работа со строками. Методы строк.

На прошлом уроке я Вас немного обманул))). Прежде чем начать изучать функции более подробно, мы разберём ещё один учебный вопрос - методы строк. Очень важная тема и рекомендую приложить все усилия, что бы вникнуть в неё. Со своей стороны я максимально простыми словами раскрою основной функционал методов, и покажу примеры их использования. Ранее, мы уже посвятили 2 урока теме работы со строками, но, забегая вперёд, скажу, даже третий урок не раскроет всех возможностей, которые Вы можете использовать в работе со строками. Сегодня я расскажу об основных методах, которые поддерживает тип данных - строки. С этими методами Вы постоянно будете сталкиваться в ходе разработки проектов. Вот какие методы мы сегодня разберём: upper(); lower(); capitalize(); count(); find(); index(); replace(); isalpha(); isdigit(); rjust(); split(); strip(). Перед тем, как рассказать об указанных методах, напомню о том, как вызываются методы у строк. По сути есть два способы вызова: 1. Объявить переменную, присво

На прошлом уроке я Вас немного обманул))). Прежде чем начать изучать функции более подробно, мы разберём ещё один учебный вопрос - методы строк. Очень важная тема и рекомендую приложить все усилия, что бы вникнуть в неё. Со своей стороны я максимально простыми словами раскрою основной функционал методов, и покажу примеры их использования.

Ранее, мы уже посвятили 2 урока теме работы со строками, но, забегая вперёд, скажу, даже третий урок не раскроет всех возможностей, которые Вы можете использовать в работе со строками. Сегодня я расскажу об основных методах, которые поддерживает тип данных - строки. С этими методами Вы постоянно будете сталкиваться в ходе разработки проектов.

Вот какие методы мы сегодня разберём:

upper();
lower();
capitalize();
count();
find();
index();
replace();
isalpha();
isdigit();
rjust();
split();
strip().

Перед тем, как рассказать об указанных методах, напомню о том, как вызываются методы у строк.

По сути есть два способы вызова:

1. Объявить переменную, присвоить ей строковое значение и вызвать у неё нужный метод.

2. Вызвать нужный метод непосредственно у строки.

Вот как это выглядит (для удобства мы будем работать в консоле):

Это первый способ.
Это первый способ.
Это второй способ.
Это второй способ.

Как видите, Вы можете применять метод как к переменной, которая содержит в себе ссылку на строку, так и непосредственно к самой строке. Работает всё аналогично.

Кстати, мы рассмотрели первый метод - upper(). Данный метод превращает все текстовые символы из строчных в заглавные.

Имеется и обратный метод - lower().

-4

А вот, если Вам нужно сделать заглавной только первый символ строки, здесь нам поможет метод - capitalize().

-5

Идём дальше, и знакомимся с методом count().

-6

Данный метод осуществляет подсчёт подстрок, на количество их вхождений в строку. Как видите подстрока "вто" входит в строку "автомобиль" один раз.

Примерно также работает метод find(). Отличием является то, что указанный метод возвращает индекс подстроки, которую Вы хотите найти в строке.

-7

Как Вы смогли заметить метод вернул индекс 4! Всё правильно, ведь буква "м" в подстроке "мо" которую мы искали, находится на позиции 4 по индексу (помните, что индексы начинаются с 0?).

Практически идентично работает метод index().

Метод возвращает нам индекс элемента, переданного в метод.

-8

Отличие данного метода от предыдущего в том, что если указать несуществующую подстроку в строке, то "пайтон" выдаст ошибку.

"Галя, у нас замена!" или "отмена"... Видели такой мем в сети? Так вот, в "пайтоне" Вы можете заменять отдельные подстроки в строке с помощью метода replace().

-9

Всё очень легко и просто! Первым аргументом мы передаём в метод "что меняем", а вторым аргументов "на что меняем". Кстати, можно указать и третий аргумент! В данном методе это должно быть число, которое ограничивает количество замен в строке.

-10

Видите?! Метод заменил только первую подстроку "о", а вторую не тронул.

Следующие два метода isalpha() и isdigit() проверяют строку, содержит она в себе лишь текстовые символы и лишь цифры.

-11

Первый метод вернул True, потому что наша строка состоит только из буквенных символов, а второй метод вернул False, собственно по этой же причине.

Важный нюанс, если в строке будет указано вот так:

-12

То метод isalpha() вернёт False, так как пробел это тоже символ, но не буквенный. Это надо учитывать при использовании метода.

Следующий метод на очереди - rjust().

Данный метод добавляет в начало Вашей строки дополнительные символы. Мы передаём в метод аргумент, например 5, и в результате получаем строку, состоящую из одного пробела и нашей строки (в данном случае 5 - это количество символов, которое должно быть в строке по результатам выполнения метода).

-13

Метод rjust() так же позволяет указать, какие символы необходимо добавить в начало строки. Для этого достаточно через запятую добавить второй аргумент - строковый символ. Здесь Важно помнить, что вторым аргументом метод принимает только один символ, и если передать два и более, то возникнет ошибка.

-14

Аналогичным способом работает метод ljust(), с той лишь разницей, что символы добавляются в конец Вашей строки.

-15

Следующий метод - strip(). Да, я не ошибся, я пропустил один метод, о нём я расскажу в конце, из-за одного специфического момента.

Так вот, метод strip() позволяет удалять все символы пробелы и переносов строк в начале и конце строки.

-16

Аналогичным способом работают и два других метода lstrip() и rstrip(). С той лишь разницей, что они удаляют все символы пробелов и переносов строк справа и слева, соответственно.

-17

Ну и на последок, расскажу Вам о таком методе как split().

Данный метод позволяет разделить строку по указанному сепаратору (разделителю). Вот как это выглядит:

-18

Хочу заметить, что, если Вам необходимо разделить строку по разделителю "пробел", то в метод split() можно ничего не передавать, "пайтон" автоматически разделит строку по пробелам.

-19

Как Вы уже заметили, "пайтон" вернул нам не совсем обычный результат. В данном случае нам был выведен на экран "список", который содержит подстроки, полученные из нашей строки. Сейчас вдаваться в "списки" мы не будем, это тема наших будущих занятий. Просто запомните, что метод split() превращает нашу строку в список.

Ну и в завершение урока, хотел показать Вам, как в "пайтон" можно последовательно вызывать методы у различных типов данных. В данном случае у строк.

Давайте рассмотрим такой пример. У нас есть строка "2,4,5, 6, 7.5", и нам необходимо получить каждый элемент строки, без пробелов и запятых. Это можно сделать следующим образом:

-20

Сначала мы применили метод replace() и заменили знаки пробелов, а потом, следом, применили метод split() по разделителю "запятая".

На данном примере я показал как легко можно варьировать методы и поочерёдно применять их к различным типам данным. Условие здесь только одно - каждый последующий метод будет работать, если предыдущий метод возвращает тот тип данных, который есть у данного объекта. В нашем случае строке.

В примере ниже я уже применил метод работы со списками - получение элемента списка по его индексу.

-21

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

Если Вам нравятся мои уроки, то "лайк" и подписка на мой канал, будут самой большой наградой!