Found this example of quine:
s='s=%r;print(s%%s)';print(s%s)
I get that %s and %r do the str and repr functions, as pointed here, but what exactly means the s%s part and how the quine works?
Found this example of quine:
s='s=%r;print(s%%s)';print(s%s)
I get that %s and %r do the str and repr functions, as pointed here, but what exactly means the s%s part and how the quine works?
s is set to:
's=%r;print(s%%s)'
so the %r gets replaced by exactly that (keeping the single quotes) in s%s and the final %% with a single %, giving:
s='s=%r;print(s%%s)';print(s%s)
and hence the quine.
The operator x % y means substitute the value y in  the format string x, same way as C printf. Also note that the %% specifier stands for a literal  % sign so s%%s within the format string will print as s%s, and will not capture a string.