Re: [Python-ideas] slice[] to get more complex slices

On 2018-07-23 11:58, Grégory Lielens wrote:
Not sure slice[1::3] can be done
It can be done. Since "slice" is a class, it would require a metaclass though. Another solution that nobody has mentioned (as far as I know) is to add additional syntax to the language for that. For example, one could say that (1:3) could be used to construct slice(1, 3) directly. The parentheses are required to avoid confusion with type hints. I'm not a Python language expert, but I don't think that type hints can occur inside parentheses like that. Jeroen.

Humour warning. Serhiy wrote:
Do you bless using __class_getitem__ for something other than typing?
As in https://perldoc.perl.org/functions/bless.html, perhaps? -- Jonathan

I still think that 'operator.subscript' would be valuable to me for all of the same reasons discussed in the previous threads and issues. I don't understand why it was reverted without any serious discussion given that it was already accepted and many people find this useful. On Mon, Jul 23, 2018 at 2:38 PM, Serhiy Storchaka <storchaka@gmail.com> wrote:

May I propose `slice.L` as in "slice literal": ``` class slice: ... class L: """Slice literal. slice.L[1:2:3, 1] -> (slice(1, 2, 3), slice(1)) """ @classmethod def __class_getitem__(cls, item): return item ``` On Mon, Jul 23, 2018 at 12:02 PM Joseph Jevnik <joejev@gmail.com> wrote:

Humour warning. Serhiy wrote:
Do you bless using __class_getitem__ for something other than typing?
As in https://perldoc.perl.org/functions/bless.html, perhaps? -- Jonathan

I still think that 'operator.subscript' would be valuable to me for all of the same reasons discussed in the previous threads and issues. I don't understand why it was reverted without any serious discussion given that it was already accepted and many people find this useful. On Mon, Jul 23, 2018 at 2:38 PM, Serhiy Storchaka <storchaka@gmail.com> wrote:

May I propose `slice.L` as in "slice literal": ``` class slice: ... class L: """Slice literal. slice.L[1:2:3, 1] -> (slice(1, 2, 3), slice(1)) """ @classmethod def __class_getitem__(cls, item): return item ``` On Mon, Jul 23, 2018 at 12:02 PM Joseph Jevnik <joejev@gmail.com> wrote:
participants (8)
-
George Leslie-Waksman
-
Guido van Rossum
-
Jelle Zijlstra
-
Jeroen Demeyer
-
Jonathan Fine
-
Joseph Jevnik
-
Serhiy Storchaka
-
Todd