← Все вопросы

Что значит знак = внутри f-строки, типа f'{x=}'?

Задан 4 месяца назад713 просмотров3 ответа
16

Увидел в чужом коде print(f'{count=}') и вывелось count=42. Это какая-то фишка f-строк? Зачем так?

3 ответа

26
✓ Принятый ответ — помог автору

Да, это «дебаг»-синтаксис f-строк, появился в Python 3.8. f'{x=}' выводит и имя выражения, и его значение:

x = 42
name = 'Аня'
print(f'{x=}')        # x=42
print(f'{name=}')     # name='Аня'
print(f'{x*2=}')      # x*2=84

Жутко удобно для быстрой отладки вместо print('x =', x). Можно комбинировать с форматом: f'{x=:.2f}'.

Конструктивный Петух Обрати внимание: строки показываются с кавычками — это repr · 4 месяца назад
Алексей Козлов После 3.8 живу только так · 4 месяца назад
8

Это отладочный вывод: показывает выражение и результат. Работает с 3.8+.

2

Сахар для отладки.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект