python - 整数 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
问题是在这种情况下我们只能使用方法调用而不是=
运算符。
解决方案
推荐阅读
- javascript - 基于连续扩展的 Angular 2/4 显示图像
- react-native - React Native:如何在 React Native 中设置长期条款和服务条件?
- android - Android Studio xml 中的错误
- tcp - 带有 wirshark 包的 TCP 关闭 2 次握手
- android - Delphi 中的跨平台音频支持
- sql - 使用分组的 SQL 选择
- ios - pthread_cond_timedwait_relative_np 等待的时间比它应该等待的时间长 100 毫秒
- python-3.x - Matplotlib - 顺序创建相同大小的图形
- sql - SQL 查询中缺少行
- php - file_get_contents() 不适用于 YouTube