__index__
duncan smith
buzzard at invalid.invalid
Sat Nov 1 12:56:37 EDT 2014
Hello,
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__,
https://docs.python.org/2/reference/datamodel.html#object.__index__. But
it doesn't seem to work as I expected it to.
>>> class MyClass(object):
def __init__(self):
self.val = 7
def __index__(self):
return self.val
>>> x = MyClass()
>>> oct(x)
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
oct(x)
TypeError: oct() argument can't be converted to oct
>>> oct(x.__index__())
'07'
>>>
Can someone please explain why my thinking is wrong on this? TIA.
Duncan
More information about the Python-list
mailing list