все Python 3operatorфункция
operator.iadd
на месте (in-place)
In-place сложение: a += b (для изменяемых типов мутирует a, для неизменяемых — как add).
Синтаксис
operator.iadd(a, b)
Возвращаемое значение нужно присвоить: iadd(x, 1) для числа не меняет x, потому что int неизменяем, — правильно x = iadd(x, 1). Для списка iadd меняет его на месте и принимает любое итерируемое: iadd([1], (2,)) даёт [1, 2], хотя [1] + (2,) поднимает TypeError. Если на список есть другие ссылки, они увидят изменение.
Примеры
import operator
print(operator.iadd(1, 2)) # → 3
print(operator.iadd(1, 2) == 1 + 2) # → True
nums = [1, 2]
print(operator.iadd(nums, [3])) # → [1, 2, 3]
print(nums) # → [1, 2, 3]
t = (1, 2)
print(operator.iadd(t, (3,))) # → (1, 2, 3)
print(t) # → (1, 2)
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности