On Mon, 20 Jul 2020 at 04:27, Jonathan Goble <jcgob...@gmail.com> wrote: >> One use case that comes up in xarray and pandas is support for indicating >> indexing "modes". For example, when indexing with floating point numbers >> it's convenient to be able to opt-in to approximate indexing, e.g., >> something like: >> array.loc[longitude, latitude, method='nearest', tolerance=0.001] > > I had to stare at this for a good 30 seconds before I realized that this > wasn't a function/method call. Except for the square brackets instead of > parentheses, it would be. > > Honestly, this whole idea smells to me like just wanting another type of > function call with different semantics. > > IMHO the above example would be better spelled as: > > array.loc.get(longitude, latitude, method='nearest', tolerance=0.001) > > Pros: Much more obvious, perfectly legal today, zero backward compatibility > issues, probably the way many libraries with such functionality are doing it > now. > Cons: A few extra characters (depending on the method name; here it's only > four) and a couple of taps on the Shift key (but you're already used to that).
Cons - cannot assign to method call - cannot use slicing syntax With PEP: array[lon=0:10, lat=0:10, method="nearest", tolerance=0.001] = 42 Without PEP (syntactically valid, although not valid xarray API): array[K(lon=slice(0, 10), lat=slice(0, 10), method="nearest", tolerance=0.001)] = 42 Gerrit. _______________________________________________ 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/JF5SSNHIETRJKBM2ADEOCFGTJVD3XMWW/ Code of Conduct: http://python.org/psf/codeofconduct/