首页 > 解决方案 > 整数 iadd 操作 (+=) 的内置方法?

问题描述

在 python 中的整数上,我们可以使用:

>>> a = 1
>>> a += 2
>>> print(a)
3

但是,如果您查看整数对象中的可用方法,您将找不到相关的方法__iadd__。例如,如果你执行,你会得到一个异常:

a.__iadd__(2)  # equal to a += 2

那么运算符是如何+=处理整数的呢?有没有办法达到内置方法来执行操作,以便我们可以在这样的列表理解中使用它:

>>> a = 0
>>> summands = [1, 4, 5, 7, 9]
>>> [a.__iadd__(a,i) for i in summands]
>>> print(a)
3

问题是在这种情况下我们只能使用方法调用而不是=运算符。

标签: pythoninteger

解决方案


推荐阅读