class MyClass: def init(self, val): self.val = val
def __add__(self, other):
return MyClass(self.val + other.val)
示例中,两个 MyClass 类的对象相加,会返回一个新的 MyClass 对象,其 val 属性为两个对象的 val 属性之和。
class MyClass: def init(self, val): self.val = val
def __add__(self, other):
return MyClass(self.val + other.val)
def __radd__(self, other):
if other == 0:
return self
else:
return self.__add__(other)
示例中,如果 sum 函数的第一个参数是 0,直接返回自身;否则,调用 add 函数完成加法操作。
最后,可以使用以下代码检验:
lst = [MyClass(1), MyClass(2), MyClass(3)] total = sum(lst, MyClass(0)) print(total.val)
输出结果为 6。