Python выполняет умножение строк, где я ожидал, что он умножит числовые значения, и я не знаю, почему.
>>> print('%d' % 2 * 4)
2222
>>> print('%d' % (2 * 4))
8
Даже принудительное приведение типа к целому числу ничего не делает. (Я понимаю, что это избыточно, но для меня это идиотская проверка:
>>> print('%d' % int(2) * int(4))
2222
Очевидно, я решил свою проблему (добавив круглые скобки, это делает), но что здесь происходит? Если это просто причуды, которые я должен запомнить, это нормально, но я бы лучше понял логику, стоящую за этим.