+= Addition assignment
Last updated: 2026-09-22
+= Addition assignment
+= adds the right value to the left variable, equivalent to x = x + y; for a list it appends a new item in place.
| Category | Operators |
|---|---|
| Kind | Operator |
📝 Syntax
x += y
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
5
💡 Related Cases
More case studies coming soon — check back later.
❓ FAQ
QWhat happens with a += b for immutable objects (int, str, tuple)?
AIt computes `a + b` and rebinds the result to `a`; the original object is unchanged. Because immutable objects cannot be modified in place, this is equivalent to `a = a + b`.
QWhat happens with a += b for lists?
AIt extends in place: `l += [4]` calls `__iadd__` (i.e. `extend`), modifying the original list object itself with `id(l)` unchanged. In contrast, `l = l + [4]` creates a new list. The two differ in their effect on shared references.
QWhat should you note about the evaluation order of +=?
AThe container expression on the left is evaluated only once: `lst[i] += 1` is equivalent to reading `lst[i]`, adding 1, and writing back, but the index expression is computed exactly once and is not re-evaluated on write.