On 2016-01-25 16:51:36, "Ian Kelly" <ian.g.ke...@gmail.com> wrote:

On Sun, Jan 24, 2016 at 2:20 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
The format method, on the other hand, belongs to the format string it's
 attached to. In this example:

     'The new price is {}' .format(newPrice, '.2f')

the format string is 'The new price is {}' and you're calling its 'format' method with 2 values for that string, the first being 4.0 (used) and the
 second on being '.2f' (unused).

 What you want is:

     print('The new price is {:.2f}'.format(newPrice))

Why doesn't str.format raise an exception when passed extra positional
arguments?

That format string uses auto-numbering, and it's equivalent to 'The new price is {0:.2f}'.

In general, the positional arguments can be used in any order, and there can also be keyword arguments, so it would need to remember which arguments had been used. Would it be worth it?

Do you really want to insist that the format string always used _all_ of the arguments?

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to