On Mon, Jan 25, 2016 at 10:19 AM, MRAB <pyt...@mrabarnett.plus.com> wrote: > > > On 2016-01-25 16:51:36, "Ian Kelly" <ian.g.ke...@gmail.com> wrote: > >> >> 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?
Good point, that makes sense. For example, I would expect this to work: '{0} {2}'.format(*some_list) as long as some_list has three elements. I wouldn't expect it to fail just because the middle element is unused, so why should it fail if there are trailing elements that are unused? -- https://mail.python.org/mailman/listinfo/python-list