[Python-Dev] Replacement for print in Python 3.0

Nick Coghlan ncoghlan at gmail.com
Sun Sep 4 05:10:28 CEST 2005


Nick Coghlan wrote:
> I agree with this point actually. There should be an "iterable" formatting 
> code that looks something like "%[sep]i"
> 
> Then "%i" % (my_seq,) would be the equivalent of "".join(my_seq), only 
> allowing it to be easily embedded inside a larger format string.
> 
> Some other examples:
> ("% i" % my_seq)  => " ".join(my_seq)
> ("%, i" % my_seq) => ", ".join(my_seq)
> 
> I see this as being similar to the way that "%.2f" controls the way that a 
> floating point value is displayed.

A correction to this - such a formatting operator would need to automatically 
invoke str on the items in the iterable:

("%i" % (my_seq,))  => "".join(map(str, my_seq))
("% i" % (my_seq,))  => " ".join(map(str, my_seq))
("%, i" % (my_seq,)) => ", ".join(map(str, my_seq))
("%(seq), i" % dict(seq=my_seq)) => ", ".join(map(str, my_seq))

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------
             http://boredomandlaziness.blogspot.com


More information about the Python-Dev mailing list