Python Glossary English

все 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Сообщить о неточности