iadd在python类中

时间:2015-11-17 22:31:47

标签: python class add

我创建了一个类,并且我对add函数进行了改进,但由于某种原因它无法正常工作。这就是我所拥有的:

def __iadd__(self,thing): 

    try: 
        tester=True
        for y in thing:
            if type(y) != type('f'):
                tester=False
        for j in thing:
            self.listt.append(j)
        return self
    except(tester==False):
        return ValueError

每当我这样做时:

f=class('ab')

f += [4]   

它应该返回一个ValueError,因为我正在添加一些不是字符串的东西,但由于某种原因,它正在附加int,即使它也不应该。

1 个答案:

答案 0 :(得分:2)

def __iadd__(self, thing): 
    for y in thing:
        if not isinstance(y, str):
            raise ValueError
    for j in thing:
        self.listt.append(j)
    return self