添加我的班级的两个实例

use*_*979 2 python oop class add instance

我想添加到我的类的实例中Bar:

x = Bar([5, 12, 5])
y = Bar([4, 5, 6])
x+y #Bar([9, 17, 11])
Run Code Online (Sandbox Code Playgroud)

这是班级:

class Bar:
    def __init__(self, arr):
        self.items = arr
    def __repr__(self):
        return "Bar("+str(self.items)+")"
Run Code Online (Sandbox Code Playgroud)

A.J*_*pal 6

您必须__add__为您的类实现一个方法:

def __add__(self, new):
    newlst = [];
    for i, j in zip(self.items, new.items):
        newlst.append(i+j)
    return Bar(newlst)
Run Code Online (Sandbox Code Playgroud)

因此:

>>> x = Bar([5, 12, 5])
>>> y = Bar([4, 5, 6])
>>> x+y
Bar([9, 17, 11])
Run Code Online (Sandbox Code Playgroud)
class Bar:
    def __init__(self, arr):
        self.items = arr
    def __repr__(self):
        return "Bar("+str(self.items)+")"
    def __add__(self, new):
        newlst = [];
        for i, j in zip(self.items, new.items):
            newlst.append(i+j)
        return Bar(newlst)
Run Code Online (Sandbox Code Playgroud)