Содржина на објавата
При форматировании числа в строку можно задать паддинг - заполнение нулями до нужной длины. >>> '{}_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