为什么不是operator.iadd(x, y)
相当于z = x; z += y
?和operator.iadd(x, y)
与operator.add(x, y)
有什么不同?Python就地操作符函数如何与标准操作符函数不同?
从docs:
很多操作有一个“就地” 版本。与通常的 语法相比,以下函数 提供了对原地操作符的更原始访问: ;例如, 声明x + = y等于x = operator.iadd(x,y)。 的另一种说法就是说z = operator.iadd(x,y)等于 复合语句z = x; z + = y。
Related question,但我对Python类方法不感兴趣;只是内置Python类型的常规运算符。
http://docs.python.org/2/reference/datamodel.html#object.__iadd__ 注意,增强作业可以,但不具备在原地修改对象 – lig 2014-02-25 16:47:21