Steven Bethard wrote: > On Fri, Oct 2, 2009 at 12:43 PM, Martin Geisler <[email protected]> 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 | [email protected] | Brisbane, Australia --------------------------------------------------------------- _______________________________________________ Python-Dev mailing list [email protected] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com
