On Mon, Oct 25, 2021 at 6:13 PM Steven D'Aprano <[email protected]> wrote: > > On Mon, Oct 25, 2021 at 05:23:38AM +1100, Chris Angelico wrote: > > On Mon, Oct 25, 2021 at 4:29 AM Erik Demaine <[email protected]> wrote: > > > > > > On Sun, 24 Oct 2021, Erik Demaine wrote: > > > > > > > I think the semantics are easy to specify: the argument defaults get > > > > evaluated for unspecified order, in left to right order as specified in > > > > the > > > > def. Those may trigger exceptions as usual. > > > > > > Sorry, that should be: > > > > > > I think the semantics are easy to specify: the argument defaults get > > > evaluated > > > for unspecified ARGUMENT(s), in left to right order as specified in the > > > def. > > > Those may trigger exceptions as usual. > > > > Ah, but is it ALL argument defaults, or only those that are > > late-evaluated? Either way, it's going to be inconsistent with itself > > and harder to explain. That's what led me to change my mind. > > The rules for applying parameter defaults are well-defined. I would have > to look it up to be sure...
And that right there is all the evidence I need. If you, an experienced Python programmer, can be unsure, then there's a strong indication that novice programmers will have far more trouble. Why permit bad code at the price of hard-to-explain complexity? Offer me a real use-case where this would matter. So far, we had better use-cases for arbitrary assignment expression targets than for back-to-front argument default references, and those were excluded. ChrisA _______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/4WELPBLKXJHXILUQMFVA7OMITRUYUTEV/ Code of Conduct: http://python.org/psf/codeofconduct/
