On Tue, Aug 4, 2020 at 4:38 AM Todd <[email protected]> wrote:
>
> One potential issue with this approach just occurred to me. I apologise if
> my thinking on this is wrong.
>
> Say a project implements __getitem__ with the signature
>
> __getitem__(self, index, **kwargs)
>
> Doesn't that mean that a "index" will not be an allowable index label, and
> that this conflict will depend on knowing the particular implementation
> details of the dunder methods?
>
Yes, that would be correct. However, the function could instead be defined as:
def __getitem__(self, index, /, **kwargs):
...
and then there'd be no conflict (as "self" and "index" must be passed
positionally). In effect, the naive spelling (which permits self and
index to be passed as keywords) would be a subtle bug that could
easily be corrected.
ChrisA
_______________________________________________
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/YHPWH6FGSKASDXI5AQN7JE5J6B5A2BZ5/
Code of Conduct: http://python.org/psf/codeofconduct/