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.
I want to offer a big apology if this question has been answered 1 million times already. That being said, on the edge case:
...what is the alternative proposed __getitem__ call from Guido and Steven?
Actually sorry I just answered my own question-- I guess it depends on what the call signature is on __getitem__.
If it looked like this:
def __getitem__(self, key=(), **kwargs):
Then you get () as the key. But if the signature looks like this:
def __getitem__(self, key, **kwargs):
Then you will get a TypeError.
"I've never met a Kentucky man who wasn't either thinking about going home or actually going home." - Happy Chandler