On Sat, Nov 12, 2016 at 11:41 AM, Ivan Levkivskyi <[email protected]>
wrote:

> On 12 November 2016 at 20:27, David Mertz <[email protected]> wrote:
>
>> I thought of the use of `.__getitem__()` in metaclasses in the typing
>> module.  I feel like this use is more natural and more useful than that.
>> Should we someday need a slice generic type for PEP 484, the spelling would
>> naturally be `Slice[T]` instead, in my mind.  But `slice[1:10,2]` should be
>> a constructor for a concrete slice object.
>>
>
> Slice[T] vs slice[::-1] is coherent with what we have now for List[T] vs
> list, etc.
>

Not really. We have List[T] but list[x] is invalid -- it doesn't have a
different meaning (it's list instances that support indexing). And in fact
the distinction between List and list is intentionally minimal -- List is
simply what list wants to become when it grows up. :-)

Honestly I think the use case of wanting to create a slice object is rare
enough that we can continue to write slice(x, y, z). If you really find
yourself wanting something shorter, I believe in the past it's been pointed
out that you could create a helper, e.g. like this:

class S:
    def __getitem__(self, x): return x
s = S()

a = s[:():]

-- 
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to