Как уже говорили другие, это оператор форматирования / интерполяции строк Python. Это в основном эквивалент sprintf в C, например:
a = "%d bottles of %s on the wall" % (10, "beer")
эквивалентно чему-то вроде
a = sprintf("%d bottles of %s on the wall", 10, "beer");
в C. Каждый из них имеет результат a
, установленный в "10 bottles of beer on the wall"
Обратите внимание, что этот синтаксис устарел в Python 3.0; его замена выглядит примерно так:
a = "{0} bottles of {1} on the wall".format(10, "beer")
Это работает, потому что любой строковый литерал автоматически превращается в объект str с помощью Python.