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

Nick Coghlan ncoghlan at gmail.com
Fri Feb 17 11:37:57 CET 2006


Georg Brandl wrote:
> 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.

The PEP has been updated to cover adding the __index__ slot to int/long so 
that "one check finds all". The slot will just get bypassed for ints and longs 
by a lot of the C code in the interpreter.
Cheers,
Nick.
-- 
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
 http://www.boredomandlaziness.org


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /