爲什麼不是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