Python: строки
В Python строка — это последовательность символов. Например, "hello" — это строка, содержащая последовательность символов 'h', 'e', 'l', 'l' и 'o'.
Для представления строки в Python мы используем одинарные или двойные кавычки. Например,
# создаём строку с помощью двойных кавычек
string1 = "Python programming"
# создаём строку с помощью одинарных кавычек
string1 = 'Python programming'
Здесь мы создали строковую переменную string1. Переменная инициализирована строкой "Python Programming".
Пример: строка в Python
# создаём строковые переменные
name = "Python"
print(name)
message = "I love Python."
print(message)
Вывод
Python
I love Python.
В примере выше мы создали строковые переменные name и message со значениями "Python" и "I love Python" соответственно.
Здесь мы использовали двойные кавычки для представления строк, но можно использовать и одинарные.
Доступ к символам строки
Доступ к символам в строке можно получить тремя способами.
Индексация. Один из способов — обращаться со строками как со списком и использовать значения индексов. Например,
greet = 'hello' # доступ к элементу с индексом 1 print(greet[1]) # "e"
Отрицательная индексация. Подобно списку, Python разрешает отрицательную индексацию для строк. Например,
greet = 'hello' # доступ к 4-му с конца элементу print(greet[-4]) # "e"
Срезы. Получите доступ к диапазону символов в строке с помощью оператора среза — двоеточия
:. Например,greet = 'Hello' # доступ к символам с индекса 1 по 3 print(greet[1:4]) # "ell"
Примечание
Если мы попытаемся получить доступ к индексу вне диапазона или использовать числа, отличные от целых, мы получим ошибки.
Строки в Python неизменяемы
В Python строки неизменяемы. Это означает, что символы строки нельзя изменить. Например,
message = 'Hola Amigos'
message[0] = 'H'
print(message)
Вывод
TypeError: 'str' object does not support item assignment
Однако мы можем присвоить имени переменной новую строку. Например,
message = 'Hola Amigos'
# присваиваем новую строку переменной message
message = 'Hello Friends'
print(message); # prints "Hello Friends"
Многострочные строки в Python
Мы также можем создать многострочную строку в Python. Для этого мы используем тройные двойные кавычки """ или тройные одинарные кавычки '''. Например,
# многострочная строка
message = """
Never gonna give you up
Never gonna let you down
"""
print(message)
Вывод
Never gonna give you up
Never gonna let you down
В примере выше всё, что находится внутри тройных кавычек, является одной многострочной строкой.
Операции со строками
Со строками можно выполнять множество операций, что делает их одним из наиболее используемых типов данных в Python.
1. Сравнение двух строк
Мы используем оператор == для сравнения двух строк. Если две строки равны, оператор возвращает True. Иначе возвращает False. Например,
str1 = "Hello, world!"
str2 = "I love Swift."
str3 = "Hello, world!"
# сравниваем str1 и str2
print(str1 == str2)
# сравниваем str1 и str3
print(str1 == str3)
Вывод
False
True
В примере выше:
str1иstr2не равны. Поэтому результат —False.str1иstr3равны. Поэтому результат —True.
2. Объединение двух или более строк
В Python мы можем объединять (конкатенировать) две или более строки с помощью оператора +.
greet = "Hello, "
name = "Jack"
# используем оператор +
result = greet + name
print(result)
# Output: Hello, Jack
В примере выше мы использовали оператор + для объединения двух строк: greet и name.
Итерация по строке
Мы можем перебирать строку с помощью цикла for. Например,
greet = 'Hello'
# перебираем строку greet
for letter in greet:
print(letter)
Вывод
H
e
l
l
o
Длина строки
В Python мы используем метод len() для нахождения длины строки. Например,
greet = 'Hello'
# считаем длину строки greet
print(len(greet))
# Output: 5
Проверка вхождения в строку
Мы можем проверить, существует ли подстрока в строке или нет, с помощью ключевого слова in.
print('a' in 'program') # True
print('at' not in 'battle') # False
Методы строки в Python
Помимо упомянутых выше, в Python есть множество строковых методов. Вот некоторые из них:
Методы |
Описание |
|---|---|
|
Преобразует строку в верхний регистр |
|
Преобразует строку в нижний регистр |
|
Возвращает кортеж |
|
Заменяет подстроку внутри строки |
|
Возвращает индекс первого вхождения подстроки |
|
Удаляет завершающие символы |
|
Разбивает строку слева |
|
Проверяет, начинается ли строка с указанной подстроки |
|
Проверяет наличие числовых символов |
|
Возвращает индекс подстроки |
Escape-последовательности в Python
Escape-последовательность используется для экранирования некоторых символов внутри строки.
Предположим, нам нужно включить и двойную, и одинарную кавычку внутри строки:
example = "He said, "What's there?""
print(example) # выдаёт ошибку
Поскольку строки представлены одинарными или двойными кавычками, компилятор будет рассматривать "He said, " как строку. Следовательно, приведённый выше код приведёт к ошибке.
Чтобы решить эту проблему, мы используем escape-символ \ в Python.
# экранируем двойные кавычки
example = "He said, \"What's there?\""
# экранируем одинарные кавычки
example = 'He said, "What\'s there?"'
print(example)
# Output: He said, "What's there?"
Вот список всех escape-последовательностей, поддерживаемых Python.
Escape-последовательность |
Описание |
|---|---|
|
Обратный слэш |
|
Одинарная кавычка |
|
Двойная кавычка |
|
ASCII Bell |
|
ASCII Backspace |
|
ASCII Formfeed |
|
ASCII Linefeed |
|
ASCII Carriage Return |
|
ASCII Horizontal Tab |
|
ASCII Vertical Tab |
|
Символ с восьмеричным значением |
|
Символ с шестнадцатеричным значением |
Форматирование строк (f-Strings)
f-Strings в Python упрощают вывод значений и переменных. Например,
name = 'Cathy'
country = 'UK'
print(f'{name} is from {country}')
Вывод
Cathy is from UK
Здесь f'{name} is from {country}' — это f-строка.
Этот новый синтаксис форматирования мощный и простой в использовании. Теперь мы будем использовать f-Strings для вывода строк и переменных.