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()
и оператор %
предполагают больше шагов и работают медленнее.
См. также
- PEP 498 – Интерполяция литеральных строк для официальной документации по f-строкам.
- Python f-строки от Real Python для учебного пособия по использованию f-строк.
- Метод .format() в документации Python для понимания старого метода форматирования строк
.format()
.