On 2021-12-02 01:35, Steven D'Aprano wrote:
> >4) If "no" to question 1, is there some other spelling or other small
> >change that WOULD mean you would use it? (Some examples in the PEP.)
>
> No. As I mentioned in the earlier thread, I don't support any
> proposal in which an argument can "have a default" but that default is not
>a first-class Python object of some sort.
I don't understand this criticism.
Of course the default value will be a first-class Python object of some
sort.*Every* value in Python is a first-class object. There are no
machine values or unboxed values, and this proposal will not change
that.
All that this proposal changes is*when* and*how often* the default
will be evaluated, not the nature of the value.
As has happened often in these threads, it seems different people mean
different things by "default value".
What you are calling "the default value" is "a thing that is used at
call time if no value is passed for the argument". What I am calling
"the default value" is "a thing that is noted at definition time to be
used later if no value is passed for the argument".
What I'm saying is that I want that "thing" to exist. At the time the
function is defined, I want there to be a Python object which represents
the behavior to be activated at call time if the argument is not passed.
In the current proposal there is no such "thing". The function just
has behavior melded with its body that does stuff, but there is no
addressable "thing" where you can say "if you call the function and the
argument isn't passed were are going to take this
default-object-whatchamacallit and 'use' it (in some defined way) to get
the default value". This is what we already have for early-bound
defaults in the function's `__defaults__` attribute.
--
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is no
path, and leave a trail."
--author unknown
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/LZJPLNKD2YOZJMUYFSVFDNOVA6DP6UQL/
Code of Conduct: http://python.org/psf/codeofconduct/