В одной из прошлых статей я разбирал строки в 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. Предлагайте идеи для статей и удачи в ваших начинаниях!