I\'ve inherited from int, because I wanted to implement a simple interface for bitwise operations. Due to the non mutability of int, I have to use the integer member functio
There is already simple interfaces for bitwise operations (see http://docs.python.org/reference/expressions.html#summary) e.g :
4 >> 1
# 2
You don't have __ior__ and __iand__ but you do have __and__ and __or__. But I suspect that what you want is actually __ror__ and __rand__ which implement bitwise operations. Integers do have those last magic methods. On magic methods see : http://www.rafekettler.com/magicmethods.html#numeric
See also : http://wiki.python.org/moin/BitwiseOperators
int
s aren't subscriptable as well as being immutable, so you can't write a working __setindex__()
method. It seems like what describing is basically a mutable bit-vector class, such as this one which appears to have been written by Guido. You can use the provided __int__()
and __long__()
methods to convert it an integer value (although I don't believe you need the latter any more).