Another inconsistency is that the case of keyword arguments only would bind
the RHS value to the first positional argument, which is the index, and not
the value. I think this is what Guido was referring to when he responded
talking about introspection being required? Not sure.

in any case, to me that doesn't seem like such a big deal period it might
lead to some weird error messages but I'm not sure why it's such a big
problem. Maybe it poses a difficulty for type hinting?

On Sat, Sep 26, 2020, 6:48 PM Christopher Barker <python...@gmail.com>
wrote:

>
> On Fri, Sep 25, 2020 at 11:50 PM Steven D'Aprano <st...@pearwood.info>
> wrote:
> >>
> >> 1. We have to pass a sentinel to the setitem dunder if there is no
> >> positional index passed.
>
>
> I still don't follow this logic -- why can't nothing be passed? The
> dunders either require an index or they don't, would that be just like
> function calling? So (adapting the example in the PEP:
>
> obj[spam=1, eggs=2]
> # calls type(obj).__getitem__(obj, spam=1, eggs=2)
>
> This sure seems like the obvious way to handle it. If the class requires a
> positional argument
> then it will fail with a TypeError.
>
> This sure seems like the most straightforward way to handle it.
>
> I'm sure I'm missing something, but reading the PEP, and my own
> experiments haven't clarified it for me.
>
> NOTE: one inconsistency would be that:
>
> obj[]
>
> would be a SyntaxError,
>
> and
>
> obj[this=x]
>
> would be a TypeError, if a positional index were expected. but that's
> less weird to me than the other incionsisentcies we are introducing for
> backward compatibility.
>
> -CHB
>
> --
> Christopher Barker, PhD
>
> Python Language Consulting
>   - Teaching
>   - Scientific Software Development
>   - Desktop GUI and Web Development
>   - wxPython, numpy, scipy, Cython
>
_______________________________________________
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/QANHHWIKMIB6GHGLGKGOGYHKK7J6LMX3/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to