How is:
'{d}{s}{f}'.format(3, 'foo', 3.14)
more unclear than:
'%d%s%f' % (3, 'foo', 3.14)
?
But the more I think about it, the more I think it would have to be:
'{:d}{:s}{:f}'.format(3, 'foo', 3.14)
Since "{0:0}" is a legitimate format string, I need some way to tell
whether "{0}" is missing the positional parameter or is missing the
format specifier.