Данный функционал появился в версии 3.6, и позволяет визуально улучшить оформление текстовых строк, тем самым увеличив читабельность кода. Как было раньше: name = 'Федя'
print('Привет, %s' % name) На первый взгляд, все просто и понятно. Но с двумя аргументами запись уже выглядит громоздко: print('Дата: %02d:%02d' % (day, month)) Кроме того, реальные проблемы могут начаться, когда у вас выражение чуть сложнее. Например: module_name = 'database'
line_number = 103
error_string = 'отсутствует соединение с базой данных'
error_code = 2883
print('Ошибка в модуле %s, строка %d: %s (код ошибки %d)' % (module_name, line_number, error_string, error_code)) Выражение, опять-таки, выглядит громоздко и читается с трудом. Но вот что случится, если через пару месяцев мы решим хранить коды ошибок в строках: module_name = 'database'
line_number = 103
error_string = 'отсутствует соединение с базой данных'
error_code = 'F-2883' # поменяли формат ошибок (был integer, стал строковый)
print('Ошибка в модуле