+= 加算代入
最終更新:2026-09-22
+= 加算代入
+= は右辺の値を左辺の変数に加えます。x = x + y と等価で、list では要素を破壊的に追加します。
| カテゴリ | 演算子 |
|---|---|
| 種類 | 演算子 |
📝 構文
x += y
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
5
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qa += b は不変オブジェクト(int、str、tuple)でどう動きますか?
A`a + b` を計算して結果を `a` に再束縛します。元のオブジェクトは変わりません。不変オブジェクトには原地変更の能力がないため、`a = a + b` と等価です。
Qa += b はリストでどう動きますか?
A原地拡張します:`l += [4]` は `__iadd__`(つまり `extend`)を呼び、元のリストオブジェクト自体を変更して `id(l)` は変わりません。一方 `l = l + [4]` は新しいリストを作ります。共有参照への影響が両者で異なります。
Q+= の評価順序で注意すべきことは何ですか?
A左側のコンテナ式は一度しか評価されません:`lst[i] += 1` は `lst[i]` に 1 足して書き戻すのと等価ですが、インデックス式は一度しか計算されず、書き戻しで再計算されません。