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

Python:
Интерполяция строки

Как это сделать:

В Python 3.6 и выше вы можете интерполировать строки, используя f-строки. Вот как:

name = 'Alice'
age = 30
greeting = f"Привет, {name}. Вам {age} лет."

print(greeting)

Вывод:

Привет, Alice. Вам 30 лет.

Вы также можете использовать выражения внутри фигурных скобок:

a = 5
b = 10
info = f"Пять плюс десять равно {a + b}, а не {2 * (a + b)}."

print(info)

Вывод:

Пять плюс десять равно 15, а не 30.

Подробнее

До Python 3.6 .format() был предпочтительным способом для интерполяции строк:

name = 'Bob'
age = 25
greeting = "Привет, {}. Вам {} лет.".format(name, age)

print(greeting)

Старый добрый Python (версии < 2.6) использовал оператор % для интерполяции, который менее интуитивно понятен и может стать запутанным при использовании нескольких переменных:

name = 'Carol'
age = 35
greeting = "Привет, %s. Вам %d лет." % (name, age)

print(greeting)

Помимо более чистого синтаксиса, f-строки работают быстрее, поскольку они оцениваются во время выполнения и затем преобразуются непосредственно в эффективную операцию форматирования строк. Метод .format() и оператор % предполагают больше шагов и работают медленнее.

См. также