[Python-Dev] Please comment on PEP 357 -- adding nb_index slot to PyNumberMethods

Georg Brandl g.brandl at gmx.net
Fri Feb 17 11:00:26 CET 2006


Bernhard Herzog wrote:
> "Travis E. Oliphant" <oliphant.travis at ieee.org> writes:
> 
>>     2) The __index__ special method will have the signature
>>
>>        def __index__(self):
>>            return obj
>>        
>>        Where obj must be either an int or a long or another object
>>        that has the __index__ special method (but not self).
> 
> So int objects will not have an __index__ method (assuming that ints
> won't return a different but equal int object).  However:
> 
>>     4) A new operator.index(obj) function will be added that calls
>>        equivalent of obj.__index__() and raises an error if obj does not
>>        implement the special method.
> 
> So operator.index(1) will raise an exception.  I would expect
> operator.index to be implemented using PyNumber_index.

I'd expect that __index__ won't be called on an int in the first place.

Georg



More information about the Python-Dev mailing list