Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Интерполяция Основы Python

Вы уже знаете, как перенести строку или «слепить» несколько строк, чтобы получить новое выражение. Но в программировании есть альтернативы этих операций. Они повышают читаемость кода и делают его проще в поддержке.

Интерполяция

Базовый способ соединения строк — конкатенация. С помощью конкатенации строки «суммируются» друг с другом, как в примере ниже:

first_name = 'Joffrey'
greeting = 'Hello'

print(greeting + ", " + first_name + "!")
# => Hello, Joffrey!

Конкатенация работает просто, но выглядит не всегда наглядно. Из-за кавычек сложно разглядеть то, каким будет конечный результат. И чем сложнее устроена строка, тем запутаннее она начнет выглядеть. У конкатенации есть альтернатива — интерполяция. Вот как это выглядит:

first_name = 'Joffrey'
greeting = 'Hello'

print(f'{greeting}, {first_name}!')
# => Hello, Joffrey!

Буква f указывает на то, что мы создаем f-строку — шаблон, в который с помощью фигурных скобок подставляются значения переменных. На выходе получается обычная строка.

Рассмотрим такой пример:

school = 'Hexlet'

what_is_it = f'{school} - online courses'
print(what_is_it)  # => Hexlet - online courses

Почти во всех языках для объединения строк интерполяция предпочтительнее конкатенации. Строка при этом получается склеенная, и внутри нее хорошо просматриваются пробелы и другие символы.

Интерполяция помогает сделать код более понятным для разработчиков. Но это не единственная полезная альтернатива, о которой мы хотели рассказать. Далее разберемся, как объявлять многострочную строку и не использовать \n.

Multi-line строки

Представьте, что нам нужно определить строку, которая состоит из нескольких строчек — то есть внутри есть переводы строки \n. Например, она будет выглядеть так:

text = 'Пример текста,\nсостоящего из\nнескольких строк'

На печати строка примет совсем другой вид:

Пример текста,
состоящего из
нескольких строк

Для таких ситуаций в Python есть еще один способ создания строк, который называется multi-line строки. Чтобы описать такую «многострочную строку», нужно заключить ее в тройные кавычки — """ или '''. Внутри multi-line строки можно переносить текст и не использовать перевод строки \n:

text = '''Пример текста,
состоящего из
нескольких строк
'''
Пример текста,
состоящего из
нескольких строк

Обратите внимание, что в конце текста есть пустая строка. Она появилась в тексте потому, что мы поставили закрывающие кавычки ''' на новой строке. Если не переносить закрывающие кавычки на новую строку, то пустая строка в тексте не появится:

text = '''Пример текста,
состоящего из
нескольких строк'''
Пример текста,
состоящего из
нескольких строк

Из-за тройных кавычек multi-line строки позволяют не экранировать кавычки внутри строки:

Здесь не нужно экранировать 'одинарные' и "двойные" кавычки

Еще multi-line строки могут становиться f-строками для интерполяции:

a = 'A'
b = 'B'

# Слева добавился f
text = f'''{a} и {b}
сидели на трубе
'''
А и B
сидели на трубе

Для компьютера не важно, какие способы соединения и переноса строк вы будете использовать. Он все равно произведет вычисления и выдаст нужный результат. Интерполяция и multi-line строки используются для удобства разработчиков, чтобы им было проще читать код.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Python-разработчик
Профессия
с нуля
Разработка веб-приложений на Django
2 февраля 10 месяцев
Иконка программы Аналитик данных
Профессия
В разработке с нуля
Сбор, анализ и интерпретация данных
16 марта 8 месяцев

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»