python operator overload and friends

By : Bob
Source: Stackoverflow.com
Question!


I wanted to know if anyone could give me an example of how to overload an operator within a class, in my case the + operator. Could I define a function (not a class method) that does it? I'm a newbie so I don't really know how to do it.

Thanks

By : Bob


Answers
class MyNum(object):
    def __init__(self, val):
        super(MyNum,self).__init__()
        self.val = val

    def __add__(self, num):
        return self.__class__.(self.val   num)

    def __str__(self):
        return self.__class__.__name__   '('   str(self.val)   ')'

print(MyNum(3)   2)   # -


When in doubt of the basics: manual. http://docs.python.org/reference/datamodel.html

By : JohnMetta


Define its __add__() method.

See here.

By : Joril


This video can help you solving your question :)
By: admin