Работа со строками
Строки — это последовательности символов. Строки Python являются «неизменными», что означает, что они не могут быть изменены после их создания.
Создание строк
Чтобы создать строку, мы можем использовать одинарные или двойные кавычки.
1 2 |
s = 'Mary' s = "Mary" |
Строки доступа
Для получения части символов строки можно использовать оператор «среза» , используя квадратные скобки [ ]:
1 2 3 4 5 |
s = 'Mary' s[0] 'M' s[1:-1] 'ar' |
Обратите внимание, что нумерация начитается с нуля.
Конкатенация
Объединение двух или более строк в одну называется конкатенацией. Python использует оператор «+» для объединения одной или нескольких строк.
1 2 3 4 5 6 7 8 |
S1 = 'How' S2 = 'are' S3 = 'you?' print(S1 + S2+ S3) Получается: 'How are you?' |
Повторение
Чтобы повторить строку n-раз, используют оператор «*».
1 2 3 4 5 |
print('hi' * 3) получается: 'hi hi hi' |
Строковые методы
Поиск в строке
Для поиска подстроки в строке в Python применяется метод find(), который возвращает индекс первого вхождения подстроки в строку и имеет три формы:
find(str)
: поиск подстроки str ведется с начала строки до ее концаfind(str, start)
: параметр start задает начальный индекс, с которого будет производиться поискfind(str, start, end)
: параметр end задает конечный индекс, до которого будет идти поиск
Если подстрока не найдена, метод возвращает -1:
1 2 3 4 5 6 7 8 9 10 11 |
welcome = "Hello dear friend! Goodbye dear friend!" index = welcome.find("fri") print(index) # 11 # поиск с 18-го индекса index = welcome.find("fri",10) print(index) # 19 # поиск с 14 по 18 индекс index = welcome.find("wor",14,19) print(index) # -1 |
Замена в строке
Для замены в строке одной подстроки на другую применяется метод replace():
replace(old, new)
: заменяет подстроку old на newreplace(old, new, num)
: параметр num указывает, сколько вхождений подстроки old надо заменить на new
1 2 3 4 5 6 7 8 9 10 11 12 13 |
phone = "+7-987-567-32-00" # замена дефисов на пробел edited_phone = phone.replace("-", " ") print(edited_phone) # +7 987 567 32 00 # удаление дефисов edited_phone = phone.replace("-", "") print(edited_phone) # +79875673200 # замена только третьего дефиса edited_phone = phone.replace("-", "", 3) print(edited_phone) # +7-987-56732-00 |
Длина строки len() в Python
Метод String len() возвращает длину строки.
1 2 3 4 5 6 |
str = "How are you!" print(len(str)) Вывод 12 |
Метод Count() для подсчета подстрок в строке в Python
Метод String count () возвращает количество вхождений подстроки в данной строке.
1 2 3 4 5 6 7 |
str = " How long" substr = "long" print(str.count(substr)) Вывод: 1 |
Преобразование букв в верхний регистр в Python
String upper() преобразует данную строку в буквы верхнего регистра и возвращает новую строку.
1 2 3 4 5 6 |
str = "How long?" print(str.upper()) Вывод: HOW LONG? |
Преобразование букв в нижний регистр в Python
Строка lower () преобразует данную строку в строчные буквы и возвращает новую строку.
1 2 3 4 5 6 |
str = "How Long?" print(str.lower()) Вывод: how long? |
Метод startswith() в Python
Метод String startswith() возвращает Boolean TRUE, если строка начинается с указанной подстроки в противном случае, она вернет False.
1 2 3 4 5 6 7 8 |
str = "One last time" print(str.startswith("One")) print(str.startswith("time")) Вывод: True False |
Метод endswith() в Python
Метод String endswith() возвращает Boolean TRUE, если строка заканчивается с указанной подстрокой в противном случае возвращает False.
1 2 3 4 5 6 7 8 |
str = "One last time" print(str.endswith("time")) print(str.endswith("last")) Вывод: True False |
Чтобы улучшить знания, вы можете решить некоторые задачи.