On Thu, Aug 20, 2020 at 10:31 AM Guido van Rossum <gu...@python.org> wrote:

>
>
> On Thu, Aug 20, 2020 at 05:57 Random832 <random...@fastmail.com> wrote:
>
>>
>> I have an implementation proposal that I believe is distinct from any of
>> the ones mentioned in the PEP currently.
>>
>>
>>
>> Pass keyword arguments as ordinary keyword arguments [which any
>> particular __getitem__ implementation is free to handle as **kwargs,
>> specific keywords, or simple named arguments]. When a single positional
>> argument is passed, it's used directly; when zero or two or more are
>> passed, they are bundled into a tuple and passed as a single positional
>> argument. Having zero arguments result in an empty tuple allows for easy
>> conceptual compatibility with numpy.
>>
>>
>>
>> d[]: d.__getitem__(())
>>
>> d[0] : d.__getitem__(0)
>>
>> d[0,1] : d.__getitem__((0, 1))
>>
>> d[x=0]: d.__getitem__((), x=0)
>>
>> d[0, y=1]: d.__getitem__(0, y=1)
>>
>> d[0, 1, z=2]: d.__getitem__((0, 1), z=2)
>
>
> That may not be in the PEP, but apart from the edge cases for d[] and
> d[x=0] it’s exactly what I and Steven have been proposing for quite a while.
>
> —Guido
> --
> --Guido (mobile)
>

I want to offer a big apology if this question has been answered 1 million
times already. That being said, on the edge case:

d[x=0]

...what is the alternative proposed __getitem__ call from Guido and Steven?

And what about unpacking?

d[*()]: d.__getitem__(())

and:

d[**{}]:  d.__getitem__(())

Thumb's up, or down on one, both? I can't remember what the current PEP
says on these. Both are currently SyntaxErrors.

---
Ricky.

"I've never met a Kentucky man who wasn't either thinking about going home
or actually going home." - Happy Chandler
_______________________________________________
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/FWSKXEAU54QZS6GF6BSWFEXU3PN3KWUV/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to