9.1 Объявления строк

В Python строки — это последовательности символов, используемые для хранения и представления текстовой информации. Строки можно создавать несколькими способами, что обеспечивает гибкость при их объявлении и манипулировании (Изменять строки нельзя, как вы уже знаете).

Основные способы объявления строк

  1. Одинарные кавычки: string = 'Привет, дружище!'
  2. Двойные кавычки: 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."""
        
undefined
2
Задача
Модуль 1: Python Core, 6 уровень, 8 лекция
Недоступна
Многострочность.
Многострочность.
undefined
2
Задача
Модуль 1: Python Core, 6 уровень, 8 лекция
Недоступна
Экранирование
Экранирование