[Python-ideas] String formatting and namedtuple
Aahz
aahz at pythoncraft.com
Thu Feb 12 23:55:12 CET 2009
On Thu, Feb 12, 2009, George Sakkis wrote:
> On Thu, Feb 12, 2009 at 2:24 PM, Terry Reedy <tjreedy at udel.edu> wrote:
>>
>> PROPOSAL: Allow the simple case to stay simple. Allow field names to be
>> omitted for all fields in a string and then default to 0, 1, ... so that
>> example above could be written as
>>
>> >>> msg = "{} == {}".format
>>
>> Given that computers are glorified counting machines, it *is* a bit annoying
>> to be required to do the counting manually. I think this is at least half
>> the objection to switching to .format.
>
> What happens when both empty and non-empty fields appear ? E.g. would
>
> 'I love {} with {1} and {} with {1}'.format('bacon', 'eggs', 'sausage')
>
> return 'I love bacon with eggs and eggs with eggs', or it would be
> smarter and see that 1 is used explicitly and skip over it, giving 'I
> love bacon with eggs and sausage with eggs' ?
I'd favor raising an exception. Alternatively, we could do the
equivalent of what % formatting does, which would be the first option
(that is, '{#}' is considered equivalent to mapped interpolation in %
formatting).
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
Weinberg's Second Law: If builders built buildings the way programmers wrote
programs, then the first woodpecker that came along would destroy civilization.
More information about the Python-ideas
mailing list