On 6/7/2022 4:59 PM, Chris Angelico wrote:
On Wed, 8 Jun 2022 at 00:36, <[email protected]> wrote:
Hello!
Do you know if there has been discussions around why is the default argument is
positional only in the dict methods get and pop?
I think
```
d.get(key, default=3)
```
way more readable than
```
d.get(key, 3)
```
specially since max and min builtin functions use default as a keyword argument.
With min and max, it MUST be a keyword argument, because positional
arguments are the values to be compared. So I think the main reason is
"because nobody ever bothered to do it". If there's enough value in
it, that could probably be changed, although mere consistency alone
isn't a very strong argument.
I suspect it's been this way because the API is so old. Now that we have
Argument Clinic it would be easier to implement as a keyword argument.
But there may also be a performance issue with keyword arguments vs.
positional. People are touchy when it comes to dicts!
Eric
_______________________________________________
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/73OOS3YPUDTZVWFJ5V44X66XZCNXRQV6/
Code of Conduct: http://python.org/psf/codeofconduct/