Python: Интерполяция
В уроке про конкатенацию перед нами стояла задача создать заголовок письма из двух переменных и знаков препинания. Вы скорее всего решили задачу так:
first_name = 'Joffrey'
greeting = 'Hello'
print(greeting + ", " + first_name + "!")
# => 'Hello, Joffrey!'
Это довольно простой случай, но — наверное, вы согласитесь — выглядит это немного безобразно. Нужно следить за несколькими кавычками и пробелами, и без вглядывания не понять, где что начинается и кончается.
Есть другой, более удобный и изящный способ решения той же задачи — интерполяция. Вот, как это выглядит:
first_name = 'Joffrey'
greeting = 'Hello'
template = "{}, {}!"
print(template.format(greeting, first_name))
# => 'Hello, Joffrey!'
Мы просто создали специальную строку (template
) — так называемый "шаблон" — и разместили в ней несколько "пробелов" — пар фигурных скобок ({}
). Затем с помощью применения операции .format()
мы восполнили пробелы значениями переменных - по одной переменной на каждый "пробел" ({}
). В одном шаблоне можно оставлять несколько "пробелов", но важно затем их заполнить все за один раз — подставить сразу нужное количество переменных.
Почти во всех языках интерполяция предпочтительнее конкатенации для объединения строк. Строка при этом получается склеенная, и внутри неё хорошо просматриваются пробелы и другие символы.
Задание
Выведите на экран строку Do you want to eat, <name>?
. Где вместо <name>
должна использоваться переменная stark
. Вывод должен получиться таким:
Do you want to eat, Arya?
Определения
Интерполяция - способ получения сложной строки из нескольких простых с использованием специальных шаблонов."