Есть ли что-то происходит, когда строка форматирования, которая использует функцию модуля упругости при вызове либострока форматирования с модулем/знак процента
StringOperand % TupleOperand
или
StringOperand % DictionaryOperand
Или это просто произвольное использование% для функция форматирования строк?
Я предполагаю, что оператор строка форматирования не является вызовом модульной арифметики следующие:
tuple = (1,2,3)
print '%d %d %d'%tuple
принтами: 1 2 3, но
print '%d %d %d %d'%tuple
возвращается TypeError: не хватает args для формата str
Это перегрузка * оператора * и распространена в python. Класс может реализовать оператор, чтобы означать все, что ему нравится, путем реализации специального метода, в данном случае '__mod __()'. Например, попробуйте 'print 'hello" * 3'. См. Также https://docs.python.org/2/library/operator.html – cdarke