+= 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] += 1
和 x[i] = x[i] + 1
没有区别。
如果您需要将 +=
与 =
或 -=
区别对待,则由 项目的 class.
my_object
需要 __getitem__
检索 my_object[item]
的初始值,__setitem__
设置新值。
此外,Python 需要一种执行加法的方法。要么my_object[item]
需要实现与__add__
或__iadd__
的加法,要么+=
右边的对象需要实现__radd__
.
要在以下语句中定义 class 行为:
my_object[item] = ...
我知道我需要定义 __setitem__
方法。
下面语句需要定义什么方法:
my_object[item] += ...
__setitem__
将涵盖您的容器 class;当您像常规作业一样进行任何扩充作业时,它会被调用。就您的 class 而言,x[i] += 1
和 x[i] = x[i] + 1
没有区别。
如果您需要将 +=
与 =
或 -=
区别对待,则由 项目的 class.
my_object
需要 __getitem__
检索 my_object[item]
的初始值,__setitem__
设置新值。
此外,Python 需要一种执行加法的方法。要么my_object[item]
需要实现与__add__
或__iadd__
的加法,要么+=
右边的对象需要实现__radd__
.