+= operator in python for __setitem__(添加方括号)

+= operator in python for __setitem__ (addition in place for square brackets)

要在以下语句中定义 class 行为:

my_object[item] = ...

我知道我需要定义 __setitem__ 方法。

下面语句需要定义什么方法:

my_object[item] += ...

__setitem__ 将涵盖您的容器 class;当您像常规作业一样进行任何扩充作业时,它会被调用。就您的 class 而言,x[i] += 1x[i] = x[i] + 1 没有区别。

如果您需要将 +==-= 区别对待,则由 项目的 class.

my_object 需要 __getitem__ 检索 my_object[item] 的初始值,__setitem__ 设置新值。

此外,Python 需要一种执行加法的方法。要么my_object[item]需要实现与__add____iadd__的加法,要么+=右边的对象需要实现__radd__.