
Steven Bethard wrote:
On Fri, Oct 2, 2009 at 12:43 PM, Martin Geisler <mg@lazybytes.net> wrote:
I hate calling methods on string literals, I think it looks very odd to have code like this:
"Displaying {0} of {1} revisions".format(x, y)
Will we be able to write this as
"Displaying {0} of {1} revisions" % (x, y)
too?
I doubt it. One of the major complaints about the %-style formatting was that the use of % produced (somewhat) unexpected errors because of how operator precedence works::
'{0}'.format(4 + 1) '5' '%s' % 4 + 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects
Steve
The other major problem with the use of the mod operator is the bugs encountered with "fmt % obj" when obj happened to be a tuple or a dict. So no, the switch to a method rather than an operator was deliberate. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia ---------------------------------------------------------------