Ruff percent-format-mixed-positional-and-named (F506)

percent-format-mixed-positional-and-named в Ruff проверяет использование смешанных позиционных и именованных заполнителей в строках формата printf.

Почему это неправильно

Python не поддерживает смешивание позиционных и именованных заполнителей в строках формата printf. Использование смешанных заполнителей вызовет TypeError во время выполнения.

Пример ошибки

"%s, %(name)s" % ("Hello", {"name": "World"})

Как правильно

"%s, %s" % ("Hello", "World")

Или:

"%(greeting)s, %(name)s" % {"greeting": "Hello", "name": "World"}