Строка - это последовательность символов. В Python все, что находится внутри кавычек, является строкой. И вы можете использовать одинарные или двойные кавычки. Например:
message = 'Это строка в Python'
message = "Это тоже строка"
Если строка содержит одинарную кавычку, вы должны заключить ее в двойные кавычки следующим образом:
message = "It's a string"
А когда строка содержит двойные кавычки, вы можете использовать одинарные кавычки:
message = '"А голову ты дома не забыл?" - сказала учительница.'
Чтобы избежать кавычек, вы можете использовать обратную косую черту (\). Например:
message = "\"А голову ты дома не забыл?\" - сказала учительница."
Интерпретатор Python будет обрабатывать символ обратной косой черты (\) особым образом. Если вы не хотите, чтобы он этого делал, вы можете использовать необработанные строки, добавив букву r перед первой кавычкой. Например:
message = r'C:\python\bin'
Создание многострочных строк
Чтобы охватить строку в несколько строк, вы используете тройные кавычки """...""" или '''...'''. Например:
list_of_products = '''
Список продуктов:
-колбаса
-сыр
-масло
-хлеб
'''
print(list_of_products)
При выполнении программы будет выведено следующее:
Список продуктов:
-колбаса
-сыр
-масло
-хлеб
Использование переменных в строках Python с помощью f-строки
Иногда вы хотите использовать значения переменных в строке.
Например, вы можете захотеть использовать значение переменной name внутри строковой переменной message:
name = 'Вася'
message = 'Привет'
Чтобы сделать это, вы помещаете букву f перед открывающим знаком кавычки и заключаете имя переменной в фигурную скобку:
name = 'Вася'
message = f'Привет, {name}!'
print(message)
Python заменит {name} значением переменной name. Код покажет на экране следующее:
Привет, Вася!
message - это строка формата, или сокращенно f-строка. Python представил f-строку в версии 3.6.
Объединение строк Python
Когда вы размещаете строковые литералы рядом друг с другом, Python автоматически объединяет их в одну строку. Например:
greeting = 'Добрый' 'вечер!'
print(greeting)
Вывод:
Добрый вечер!
Чтобы объединить две строковые переменные, вы можете использовать оператор сложения +:
word = 'Добрый'
time = 'вечер'
greeting = greeting + time + '!'
print(greeting)
Вывод:
Добрый вечер!
Доступ к элементам string
Поскольку строка представляет собой последовательность символов, вы можете получить доступ к ее элементам, используя индекс. Первый символ в строке имеет нулевой индекс.
В следующем примере показано, как получить доступ к элементам с помощью индекса:
str = "Строка"
print(str[0]) # С
print(str[1]) # т
Как это работает:
- Сначала создайте переменную, содержащую строку "Строка".
- Затем получите доступ к первому и второму символам строки, используя квадратные скобки [] и индексы.
Если вы используете отрицательный индекс, Python возвращает символ, начинающийся с конца строки. Например:
str = "Строка"
print(str[-1]) # а
print(str[-2]) # к
Ниже показаны индексы строки "Строка":
+---+---+---+---+
| С | т | р | о | к | а |
+---+---+---+---+
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
Получение длины строки
Чтобы получить длину строки, вы используете функцию len(). Например:
str = "Строка"
str_len = len(str)
print(str_len)
Вывод:
6
Срезы строк
Срезы позволяют получить подстроку из строки. Например:
str = "Строка"
print(str[0:2])
Вывод:
Ст
str[0:2] возвращает подстроку, которая включает символ из индекса от 0 (включительно) до 2 (не включительно).
Синтаксис для срезов следующий:
string[start:end]
Подстрока всегда включает элемент с индексом start но не включает элемент с индексом end. Это можно исправить добавив к end единицу
Пример использования
start и end являются необязательными. Если вы опустите start, по умолчанию будет равно нулю. Если вы опустите end, по умолчанию будет равна длине строки.
Строки Python неизменяемы
Строки Python неизменяемы. Это означает, что вы не можете изменить строку. Например, вы получите сообщение об ошибке, если обновите один или несколько символов в строке:
str = "Строка"
str[0] = 'ы'
Ошибка:
Traceback (most recent call last):
File "app.py", line 2, in <module>
str[0] = 'ы' TypeError: 'str' object does not support item assignment</module>
Когда вы хотите изменить строку, вам нужно создать новую из существующей строки. Например:
str = "Строка"
new_str = 'ы' + str[1:]
print(new_str)
Вывод:
ытрока
Краткие сведения
- В Python строка представляет собой последовательность символов. Кроме того, строки Python неизменяемы.
- Используйте кавычки, либо одинарные, либо двойные, для создания строковых литералов.
- Используйте символ обратной косой черты \ для экранирования кавычек в строках
- Используйте необработанные строки r'...' для экранирования символа обратной косой черты.
- Используйте f-строки для вставки значения переменных в строку при выводе
- Разместите строки рядом друг с другом, чтобы объединить их. И используйте оператор + для объединения строковых переменных.
- Используйте функцию len(), чтобы получить размер строки.
- Используйте str[n] для доступа к символу в позиции n строки str.
- Используйте срез для извлечения подстроки из строки.