Строки в Python и методы работы с ними

В одной из прошлых статей я разбирал строки в JavaScript. Теперь пришло время поговорить о строках в языке программирования Python. 

Начнем с теории. Строка – это последовательность символов произвольной длины. Также строки являются объектами класса str, и если мы захотим получить не строку, а число, то можем использовать функцию приведения.

Склеивание и разделение строк

Самый простой способ склеить строки в Python – это сложить их с помощью знака «+». Рассмотрим на примере:

str = "a"+"b"
print(str) # Выведет "ab"

Но такой способ не всегда будет нам подходить. Рассмотрим метод join():

str = ["a", "b", "c"]
print("".join(str)) # Выведет "abc"

Перед .join() мы указываем разделитель строк, а в скобках сам их массив.

Для того чтобы разделить строки, используем обратный метод – split(). Тут в скобках указываем набор символов, по которым будет идти разделение, а перед методом не забываем указать имя строки, а после нее поставить точку. Рассмотрим на примере:

str = "a,b,c"
print(str.split(",")) # Выведет ['a', 'b', 'c']

Существует и другой способ разделения строк, он называется срез. Срез str[x:y] позволит нам получить строку от символа x до y. При этом необязательно указывать оба параметра, ведь в таком случае срез произойдет от начала или до самого конца строки. 

Определенный промежуток:

str = "Строки в Python и методы работы с ними"
print(str[9:15]) # Выведет "Python"

С начала строки:

str = "Строки в Python и методы работы с ними"
print(str[:15]) # Выведет "Строки в Python"

До самого конца:

str = "Строки в Python и методы работы с ними"
print(str[18:]) # Выведет "методы работы с ними"

Также можно срезать каждый энный символ при помощи двойного двоеточия:

str = "123456789"
print(str[::2]) # Выведет "13579"

Форматирование строк в Python

Для подстановки в строку любой переменной, которая может являться результатом работы основной части кода, нам понадобятся f-строки. Они появились в Python 3.6, поэтому я рекомендую использовать только свежие версии этого языка программирования. Рассмотрим на примере работу с f-строками:

num = 2*10
num2 = 100
str = f"Первое число: {num}. Второе число: {num2}"
print(str) # Выведет "Первое число: 20. Второе число: 100"

Поиск в строках

Если нам нужно найти набор символов в начале или в конце данной строки, то на помощь приходят два быстрых метода.

Первый метод – startswith(). Он позволяет искать набор символов в начале строки. Рассмотрим на примере:

str =  "Строки в Python и методы работы с ними"
print(str.startswith("Строки")) #Выведет True

Второй метод – endswith(). Он позволяет искать набор символов в конце строки. Рассмотрим на примере:

str =  "...я разбирал строки в JavaScript"
print(str.endswith("JavaScript")) #Выведет True

А если нам нужно найти набор символов в произвольном месте строки, то используем метод find(). Рассмотрим на примере:

str = "Строки в Python и методы работы с ними"
print(str.find("Python")) #Выведет 9

В данном случае скрипт нашел набор символов в строке и вывел индекс начала его вхождения в ней.

str = "Строки в Python и методы работы с ними"
print(str.find("JavaScript")) #Выведет -1

А в этом случае скрипт не нашел набор символов в строке и вывел «-1».

Замена в строках

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

str = "Строки в Python и методы работы с ними"
print(str.replace("Python", "JavaScript")) #Выведет "JavaScript"

Вывод каждого символа в строке

Если нам нужно получить и обработать каждый символ в строке отдельно, то мы можем использовать цикл for. Рассмотрим на примере:

str = "123"
for i in str:
print(i) #Выведет "1" "2" "3"

Узнаем длину строки

Для того чтобы получить длину строки, используем метод len():

str = "123"
print(len(str)) # Выведет 3

Преобразование строки в число

Если мы имеем строку, состоящую из набора цифр, то мы смело можем преобразовать ее в число, используя функцию приведения int(). Рассмотрим на примере:

str = "123"
print(int(str)) # Выведет 123

Изменение регистра строк в Python

Для того чтобы все буквы в строке были заглавными, используем метод upper():

str = "Строки в Python и методы работы с ними"
print(str.upper()) # Выведет "СТРОКИ В PYTHON И МЕТОДЫ РАБОТЫ С НИМИ"

И метод lower() для строчных букв:

str = "СТРОКИ В PYTHON И МЕТОДЫ РАБОТЫ С НИМИ"
print(str.upper()) # Выведет "строки в python и методы работы с ними"

Чтобы первая буква в строке стала заглавной, следует использовать метод capitalize():

str = "строки в python и методы работы с ними"
print(str.capitalize()) # Выведет "Строки в python и методы работы с ними"

Удаление лишних пробелов из строк

Метод strip() удаляет пробельные символы в начале и в конце строки. lstrip() и rstrip() делают то же самое, но в определенных местах: первый метод в начале строки, а второй – в ее конце.

Итог

Мы разобрали основные методы работы со строками в Python. Предлагайте идеи для статей и удачи в ваших начинаниях!

Межтекстовые Отзывы
Посмотреть все комментарии
guest