9.1 Объявления строк
В Python строки — это последовательности символов, используемые для хранения и представления текстовой информации. Строки можно создавать несколькими способами, что обеспечивает гибкость при их объявлении и манипулировании (Изменять строки нельзя, как вы уже знаете).
Основные способы объявления строк
- Одинарные кавычки:
string
= 'Привет, дружище!' - Двойные кавычки:
string
= "Привет, дружище!"
Оба способа эквивалентны, выбор зависит от предпочтений программиста и от того, какие кавычки встречаются в самой строке (чтобы избежать их экранирования).
Многострочные строки
Для объявления многострочных строк используются тройные кавычки. Это может
быть тройные одинарные (''')
или тройные двойные кавычки (""")
. Такой способ
удобен для текста, занимающего несколько строк:
multiline_string = """Первая строка
вторая строка
третья строка"""
Экранирование символов
В Python символы в строках могут быть экранированы с помощью обратного слэша
(\
). Это позволяет вставлять специальные символы, такие как
новая строка (\n
), табуляция (\t
), или сам
обратный слэш (\\
).
escaped_string = "Он сказал: \"Привет, дружище!\""
Более подробно мы рассмотрим экранирование на пару лекций ниже.
Сырые строки
Сырые строки (raw string)
— это строки, в которых экранирование символов
отключено. Они объявляются с префиксом r:
raw_string = r"В этой строке \n не считается переводом строки."
Форматирование строк
Python предлагает несколько методов для форматирования строк. Самый мощный
из них — f-строки
, доступные начиная с Python 3.6. Они позволяют встраивать
выражения Python прямо в строку:
name = "Мир"
formatted_string = f"Привет, {name}!"
Конкатенация строк
Строки можно создавать объединив несколько строк , используя оператор «+» или метод join() для более сложных случаев:
greeting = "Привет, " + "дружище!"
Неизменяемость (иммутабельность) строк
Помните, что строки в Python являются неизменяемыми. Это означает, что любые операции, модифицирующие строку, фактически создают новую строку.
9.2 Вложенные кавычки
В Python, работа со строками, содержащими вложенные кавычки, требует особого внимания к деталям синтаксиса, чтобы обеспечить корректность кода и избежать синтаксических ошибок.
Нельзя просто так написать кавычку внутри текста, который обрамлен кавычками. Например, вы пишите код:
escaped_string = "Он сказал: "Привет, мир!"… "
А вот что видит Python:
escaped_string = "Он сказал: "Привет, мир! "… "
Они ищет не самую последнюю кавычку в строке, а ближайшую. Поэтому, чтобы добавить кавычку внутрь текста нужно немного потрудиться. Вот обзор основных приемов и методов для управления вложенными кавычками в строках Python:
Использование различных типов кавычек
Python позволяет использовать как одинарные (')
, так и двойные (")
кавычки
для определения строк. Это дает возможность вкладывать один тип кавычек
внутри другого:
quote = "He said, 'Hello, world!'"
# or
quote = 'He said, "Hello, world!"'
Экранирование кавычек
Когда нужно использовать одинаковые кавычки внутри строки, можно
воспользоваться символом обратной косой черты (\)
для экранирования кавычек:
quote = "He said,\"Hello, world!\" "
Многострочные строки
Для создания многострочных строк, содержащих вложенные кавычки, удобно
использовать тройные кавычки (''' или """)
:
multiline_quote = """This is a long quote that contains multiple types of quotation marks:
"double quotes" and 'single quotes'. It spans multiple lines."""
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ