TGViewer
Python Заметки Python Заметки @pythonotes · 2.2K subscribers
Post #306 2.47K
При форматировании числа в строку можно задать паддинг - заполнение нулями до нужной длины.

>>> '{}_v{:05d}'.format('name', 125)
'name_v00125'

А что если паддинг тоже задан переменной? В таком случае мы можем добавить форматирование этой переменной внутри формата первой. Порядок переменных следует указывать в порядке появление открывающейся скобки.

>>> '{}_v{:0{}d}'.format('name', 125, 5)
'name_v00125'

Или вот так
>>> '{}_v:{:{:02d}{}}'.format('name', 125, 5, 'd')
'name_v00125'

А можно глубже?

К сожалению (а может к счастью), уровень вложенности ограничен двумя. То есть, форматирование внутри форматирования внутри форматирования это ...

ValueError: Max string recursion exceeded

Но никто не запрещает использовать один тип форматирования внутри другого.

(Пример странный, но зато рабочий)

>>> ('{}_v{:{:%0.2dd}{}}' % 2).format('name', 125, 5, 'd')
'name_v00125'

С f-string можно использовать 4 уровня, по количеству доступных типов кавычек. Можно, но не нужно 😕

f'''{f"""{f'{f"{x}"}'}"""}'''


#tricks
  • 🔥 13
  • 👍 3
More from @pythonotes
  1. Sep 21, 2026­ WebAssembly это мощная технология позволяющая загружать практически любое приложение в б…
  2. Aug 17, 2026Не так давно столкнулся с API который в ответе с ошибкой присылал только статус-код. Без п…
  3. Jul 20, 2026У меня основная ОС это Linux. Но нередко требуется делать сборку клиента под Windows. Соби…
  4. Jul 13, 2026В прошлый раз был пример с понижением привелегий процесса. Проблема в том, что обратно под…
  5. Jul 6, 2026Модуль pwd может использоваться для считывания информации о пользователях из базы данных п…
  6. Jun 22, 2026Недавно я реализовал Multi Tenancy систему на FastAPI + SQLAlchemy и пересобрал её в небол…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →