sakulagi朋友提到python的操作符重载,这里给出例子。

sakulagi朋友提到python的操作符重载,这里给出例子。

sakulagi的问题这里用代码给出解决,这里实现了两个对象的相加,同时也实现了数字和字符相加。

[Copy to clipboard] [ - ]
CODE:
# -*- coding: cp936 -*-
class test:
    def __init__(self):
        self.a='羊'
        self.b=50
        self.c='只'
    def __add__(self,other):
        return (str(self.a)+str(self.b*other.b)+str(other.c))
t=test()
s=test()
print t+s
s.b=100
print t+s

多谢!

那么是不是减法就是__minus__?
有没有操作符对应的builtin方法的列表?
在python的手册中3.3 Special method names里面有很多,自已看吧。
哦,看到了。在Python的Reference Manual里。
不会吧,这么简单的运算符重载现在才搞定啊
我想你小学就学过,不同的类型不能相加吧.
比如5只羊+3头牛=多少?

不同类型不能相加,而羊和牛都是继承了动物这个类,并有各自不同的属性和方法.
操作符重载就是解决对象之间的操作.
如何重载矩阵运算?