What does a % sign mean in python when it is not a modulo or a string formatter? I came across it in this baffling block of code in the timeit module:
# Don't change the indentation of the template; the reindent() calls # in Timer.__init__() depend on setup being indented 4 spaces and stmt # being indented 8 spaces. template = """ def inner(_it, _timer): %(setup)s _t0 = _timer() for _i in _it: %(stmt)s _t1 = _timer() return _t1 - _t0 """ def reindent(src, indent): """Helper to reindent a multi-line statement.""" return src.replace("\n", "\n" + " "*indent) I have searched Google and SO for what this operator is, but no luck. I am using python 2.6.1 .
"""symbols? There is a variabletemplatein the code, and it is being assigned a string. The%is used for formatting, just like usual. It's just that the actual substitution hasn't happened yet in this part of the code.