[Python-Dev] transitioning from % to {} formatting (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Mon Oct 5 22:20:47 CEST 2009


Guido van Rossum 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) Ugh! Good point. This objection was made years ago when we introduced "separator".join(listofthings), and I don't think ignoring it has caused any casualties. In fact, it serves as an early reminder to the user that string literals are, in fact, objects like all others.

The other string literal method I personally use reasonably often is to create lists of strings by using "a list of strings".split() instead of ['a', 'list', 'of', 'strings'] (while the character count isn't all that different, I find the former is easier to both write and read without all those quotes and commas). It's a trick I've seen plenty of other people use as well.

So I would agree that method invocation on literals (particularly string literals) is an already established language idiom.

Cheers, Nick.

-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia



More information about the Python-Dev mailing list