Message 83423 - Python tracker (original) (raw)

It may also be worth explicitly stating the following in the docs: "Note that automatically numbered and explcitly namged/numbered replacement fields cannot be mixed in a single format string". (This could probably be relegated to a footnote).

This proposal is also significantly better defined than the rather bizarre behaviour seen in the equivalent situation with %-formatting:

"%s %(name)s" % dict(name="Hmm") "{'name': 'Hmm'} Hmm"

"%s %(name)s %s" % dict(name="Hmm") Traceback (most recent call last): File "", line 1, in TypeError: not enough arguments for format string

"%s %(name)s %s" % (dict(name="Hmm"), "dodgy") Traceback (most recent call last): File "", line 1, in TypeError: format requires a mapping