__index__

Ethan Furman ethan at stoneleaf.us
Sat Nov 1 19:29:03 CET 2014


On 11/01/2014 10:11 AM, Ned Batchelder wrote:
> On 11/1/14 12:56 PM, duncan smith wrote:
>>
>>        I have a Bloom filter class and want to (partially) serialize
>> instances using hex() or oct(). Instances are mutable, so I can't
>> inherit from long. I thought I'd found the answer when I came across
>> __index__, it doesn't seem to work as I expected it to.
>
> Just above your link in the docs is __oct__ and __hex__, which are used to implement oct() and hex():
> https://docs.python.org/2/reference/datamodel.html#object.__oct__

In Python 2 __oct__ and __hex__ are used for oct() and hex(), but in Python 3 __index__ is used.

But I agree with Net that using a separate method is probably better.

--
~Ethan~



More information about the Python-list mailing list