Я получаю, что %s и %r выполняют функции str и repr, как указано здесь, но что именно означает s%s и как работает quine?
Ответ 1
s установлено значение:
's=%r;print(s%%s)'
поэтому %r заменяется на то, что (сохраняя одинарные кавычки) в s%s и окончательном %% с одним %, давая:
s='s=%r;print(s%%s)';print(s%s)
и, следовательно, quine.
Ответ 2
Оператор x % y означает подстановку значения y в строку формата x, так же, как C printf. Также обратите внимание, что спецификатор %% обозначает буквенный знак%, поэтому s%%s в строке формата будет печататься как s% s и не будет записывать строку.