On Nov 12, 2016 5:46 PM, "David Mertz" <mertz@gnosis.cx> wrote:
>
> If we *do* want the name 'slice' as the spelling for the thing that can either be called or indexed to create a slice object, we could probably use some boilerplate like this:
>
>> In [1]: class Slice:
>>    ...:     def __init__(self):
>>    ...:         self.slice = slice
>>    ...:     def __getitem__(self, x):
>>    ...:         return x
>>    ...:     def __call__(self, *args, **kws):
>>    ...:         return self.slice(*args, **kws)
>>    ...:
>>
>> In [2]: slice = Slice()
>>
>> In [3]: slice(1,10,2)
>> Out[3]: slice(1, 10, 2)
>>
>> In [4]: slice[1:10:2]
>> Out[4]: slice(1, 10, 2) 
>>
> I'm sure there are some less common uses of the name 'slice' that would break here.  That's why I'd want an official standard behavior.

isinstance(obj, slice) would be a notable one.

-n