On Fri, Dec 3, 2021 at 4:22 AM Nicholas Cole <[email protected]> wrote:
> There is nothing that this proposal makes possible that is not already
> possible with more explicit code.

It's worth noting that "explicit" does not mean "verbose". For
instance, this is completely explicit about what it does:

x += 1

It does not conceal what it's doing, yet it uses a very compact
notation to say "augmented addition". The proposal in question uses an
explicit symbol to indicate that the default should be late-bound.

In contrast, a less explicit and much worse proposal might be: "If the
argument default defines a mutable object, construct a new one every
time", so "def f(x=1):" would be early bound and "def f(x=[]):" would
be late-bound. This is implicit behaviour, since it's not stated in
the code which one is which.

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/L6PTUVZ33N3EHVCLEGDCDOMB7XGIJRRQ/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to