[Python-Dev] Replacement for print in Python 3.0
Nick Coghlan
ncoghlan at gmail.com
Sun Sep 4 05:54:15 CEST 2005
Nick Coghlan wrote:
> 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))
Hmm, 'i' is already taken. I think I'll use 'j for join' while working on a
patch. The full specification of the number formatting operations is
impressive, though (this is the first time I've actually read the full
description of the string formatting behaviour).
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://boredomandlaziness.blogspot.com
More information about the Python-Dev
mailing list