Hi,
for the fun I try operator overloading experiences and I didn't
exactly understand how it works.

Here is my try:
>>> class myint(int):
        def __pow__(self, value):
                return self.__add__(value)

>>> a = myint(3)
>>> a ** 3
6

OK, it works. Now I try different way to achieve the same result but
without much luck:

>>> class myint(int):
        pass
>>> myint.__pow__ = myint.__add__

or:
>>> class myint(int):
        __pow__ = int.__add__

or:
>>> class myint(int):
        pass
>>> a.__pow__ = a.__add__

but for every try the result was the same:
>>> a = myint(3)
>>> a ** 3
27

Why it doesn't works ?

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to