Python Glossary English

Python 3.6+Строки (str)понятие

f-строки

форматирование

f-строки (f'...') — форматированные строковые литералы. Выражения в {} вычисляются во время выполнения.

Синтаксис

f'{expr}'  |  f'{val:.2f}'  |  f'{val!r}'

Литеральная фигурная скобка пишется удвоением: f'{{{x}}}' выведет значение x в скобках. До Python 3.12 внутри выражения нельзя было использовать те же кавычки, что у самой строки, и обратный слэш — теперь (PEP 701) можно, так что чужой код с промежуточными переменными часто написан именно из-за старого ограничения. Помните, что f-строка подставляет значения сразу при вычислении литерала: заготовить её как шаблон на будущее нельзя, для этого есть str.format().

Примеры

name = 'Alice'
print(f'Hello, {name}!')
# → 'Hello, Alice!'
x = 3.14159
print(f'{x:.2f}')
# → '3.14'
print(f'{2 ** 10}')
# → '1024'
n = 42
print(f'{n:>10d}')
# → '        42'
print(f'{n:010d}')
# → '0000000042'
s = 'hello'
print(f'{s!r}')
# → "'hello'"
width = 10
print(f'{"center":^{width}}')
# → center (выравнивание по центру, ширина 10)
val = 1234567.89
print(f'{val:,.2f}')
# → '1,234,567.89'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности