【发布时间】:2020-03-05 01:41:06
【问题描述】:
class A:
def __init__(self):
self.quantity = 1
def __add__(self, other):
self.quantity += other.quantity
del other # Not deleting.
return self
def __radd__(self, other):
if other == 0:
return self
else:
return self.__add__(other)
def __str__(self):
return f'{self.quantity}'
def __repr__(self):
return f'<A object: {self.quantity}>'
if __name__ == '__main__':
a = A()
b = A()
array = [a,b]
print(sum(array))
print(array)
结果:
2
[<A object: 2>, <A object: 1>]
预期结果:
2
[<A object: 2>]
函数添加正常,但del没有删除列表中的其他项目。
我在使用del other 后尝试使用other 并打印错误。但它不会从列表中删除该项目。
【问题讨论】:
标签: python python-3.x del