On 28.05.20 17:44, Christopher Barker wrote:
On Thu, May 28, 2020 at 3:50 AM Alex Hall <[email protected] <mailto:[email protected]>> wrote:On Thu, May 28, 2020 at 12:38 PM Greg Ewing <[email protected] <mailto:[email protected]>> wrote: But I'm having trouble thinking of one. I can't remember ever writing a function with a default argument value that *has* to be mutable and *has* to have a new one created on each call *unless* the caller provided one. Actually, we need to one further: a default argument value that *has* to be mutable and *has* to have a new one created on each call *unless* the caller provided one ... and *has* to treat None as valid value.
That's the scenario where you'd need to create a sentinel object to take the role of None. However late binding of defaults won't save you from this. The biggest advantage, as far as I understood, is that you can specify a default (expression) as part of the function header and hence provide a meaningful example value to the users rather than just None.
_______________________________________________ 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/P3XDOGYMUJQQWKNKL5O3IZLRFGJYMLNI/ Code of Conduct: http://python.org/psf/codeofconduct/
