On 6/7/2022 4:59 PM, Chris Angelico wrote:
On Wed, 8 Jun 2022 at 00:36, <martineznicolas41...@gmail.com> 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 -- 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/73OOS3YPUDTZVWFJ5V44X66XZCNXRQV6/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to