[Python-Dev] transitioning from % to {} formatting (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Sat Oct 3 07:19:55 CEST 2009
- Previous message: [Python-Dev] transitioning from % to {} formatting
- Next message: [Python-Dev] transitioning from % to {} formatting
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Steven Bethard wrote:
On Fri, Oct 2, 2009 at 12:43 PM, Martin Geisler <mg at 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 "", line 1, in 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 at gmail.com | Brisbane, Australia
- Previous message: [Python-Dev] transitioning from % to {} formatting
- Next message: [Python-Dev] transitioning from % to {} formatting
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]