On 2021-08-12 at 14:05:23 -0000, eloi.riv...@aquilenet.fr wrote: > This is how slices are used in the python standard library, indeed, > but that does not stop me from interpreting the slices as "inclusive > by default" in my library. The inconsistency with the rest of the > python standard library could be misleading, but I think maybe less > than off-by-1 errors?
https://docs.python.org/3/library/functions.html#slice says that slice objects represent "the set of indices specified by range(start, stop, step)." You are free to interpret a slice differently, but you may be in for a fight against (or bug reports from) existing Pythonistas. Also, given that slices explicitly represent indices, your API may be clearer if you used ranges instead of slices, but the question of what the end is would remain. YMMV. > You raise a good point however, that is: how to write a slice with > expliciting the inclusiveness of one of the limit values? By definition, slices derive from ranges, and by definition, ranges do not include their ends. A (stop, stop) pair that includes the stop value is not a Python slice or a Python range. If you're willing to write your own gt class or function, then why not bt? That said, I don't think I've ever explicitly created a slice. And the better iteration works, the less I use range. I also can't recall using BETWEEN in database queries (except maybe for dates?), but databases and database queries are *not* my thing. In that light, consider me -0 on any new syntax for creating slices. _______________________________________________ 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/DPVAUYPLFOKF3T6HTDDVOJBEERVAPFOP/ Code of Conduct: http://python.org/psf/codeofconduct/