Учитывая выражение f-строки, такое как f'{ x:02 }'
, часть спецификатора формата выражения начинается и включает все символы после двоеточия (:
). Это означает, что пробел справа от 02
является частью спецификатора формата. Несмотря на то, что говорит ошибка, как сказал Крис Рэндс , пробел является допустимым кодом формата. Причиной ошибки является то, что мы использовали неверный спецификатор формата для целого числа. Добавление пробела после 02
делает недействительным спецификатор.
Мы можем решить проблему с
>>> f'{ x:02}'
, которая успешно доставила мне 01
. Однако я субъективно не рекомендую этот стиль для выражений f-строки, поскольку он выглядит несбалансированным, т. Е. Крайний левый пробел не имеет спаренного пространства на другом конце выражения. Вместо этого я бы не использовал окружающие пробелы (например, f'{x:02}'
).
Рекомендуемое чтение
РЕДАКТИРОВАТЬ: Я отредактировал этот ответ, чтобы дать правильное объяснение. В предыдущем редактировании я неправильно указал, что пробел не является допустимым кодом в формате. Спасибо, Крис, за исправление.