開発環境
- Python version: python 3.10.11
Pythonの代入演算子とは
Pythonの代入演算子とは、変数などへ値をを割り当てるために用いられる演算子式です。
基本的な代入演算子は「=」で左辺に右辺を代入することができますが、「=」と他の演算子を組み合わせた自己代入演算子もあります。
また、足し算や引き算など様々な演算子を組み合わせて代入する演算子のことを複合代入演算子といいます。
公式リファレンス:https://docs.python.org/ja/3/reference/simple_stmts.html#assignment-statements
Pythonの代入演算子の書き方
Pythonの代入演算子の書き方は下記になります。
1 | 式1 代入演算子 式2 |
代入演算子の一覧
Pythonで定義されている代入演算子の一覧は下記となります。
1 2 3 4 5 6 7 8 9 10 11 12 13 | a = b # a に b を代入する a += b # a = a + b に同じ a -= b # a = a - b に同じ a *= b # a = a * b に同じ a /= b # a = a / b に同じ a %= b # a = a % b に同じ a **= b # a = a ** b に同じ a //= b # a = a // b に同じ a &= b # a = a & b に同じ a |= b # a = a | b に同じ a ^= b # a = a ^ b に同じ a <<= b # a = a << b に同じ a >>= b # a = a >> b に同じ |
「++
(インクリメント演算子)」や「--
(デクリメント演算子)」 はサポートされていないので、代わりにa += 1
やa -= 1
を用います。
代入演算子の優先順位
Pythonには優先順位があります。以下は主な演算子の優先順位の一覧です。
演算子 | 説明 |
---|---|
(expressions...), [expressions...], {key: value...}, {expressions...} | 式結合またはタプル表示、リスト表示、辞書表示、集合表示 |
x[index], x[index:index], x(arguments...), x.attribute | 添字指定、スライス操作、呼び出し、属性参照 |
await x | Await 式 |
** | べき乗 |
+x, -x, ~x | 正数、負数、ビット単位 NOT |
*, @, /, //, % | 乗算、行列乗算、除算、切り捨て除算、剰余 |
+, - | 加算および減算 |
<<, >> | シフト演算 |
& | ビット単位 AND |
^ | ビット単位 XOR |
| | ビット単位 OR |
in, not in, is, is not, <, <=, >, >=, !=, == | 所属や同一性のテストを含む比較 |
not x | ブール演算 NOT |
and | ブール演算 AND |
or | ブール演算 OR |
if -- else | 条件式 |
lambda | ラムダ式 |
Pythonの演算子は上から順に優先順位が高くなります。例えば、代入演算子は比較演算子や論理演算子、算術演算子よりも優先順位が高いです。
演算子の優先順位は、数式を評価するときにどの演算を先に行うかを決定します。そのため、適切な優先順位を理解していないと、意図しない結果が生じる可能性があるため、注意が必要です。
Pythonの代入演算子の使い方
Pythonの代入演算子の使い方について解説していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | num1 = 8 num2 = 7 num1 += num2 print("サンプルコード1:", num1) # => 15 「num1 = num1 + num2」と同じ num1 = 8 num2 = 7 num1 -= num2 print("サンプルコード2:", num1) # => 1 「num1 = num1 - num2」と同じ num1 = 8 num2 = 7 num1 *= num2 print("サンプルコード3:", num1) # => 56 「num1 = num1 * num2」と同じ num1 = 8 num2 = 7 num1 /= num2 print("サンプルコード4:", num1) # => 1.1428571428571428 「num1 = num1 / num2」と同じ num1 = 8 num2 = 7 num1 %= num2 print("サンプルコード5:", num1) # => 1 「num1 = num1 % num2」と同じ num1 = 8 num2 = 7 num1 //= num2 print("サンプルコード6:", num1) # => 1 「num1 = num1 // num2」と同じ |
上記のコードでは、num1
とnum2
の変数を代入演算子を用いた計算結果を出力しています。
また、代入演算子を応用したサンプルコードは下記になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # 注文一覧 order = [ {"menu": "pasta", "price": 780, "quantity": 2}, {"menu": "pizza", "price": 980, "quantity": 1}, {"menu": "soup", "price": 380, "quantity": 2}, {"menu": "bread", "price": 280, "quantity": 1}, ] # 合計金額の初期化 total = 0 # 各注文について価格と数量を掛けて合計に加える for item in order: total += item["price"] * item["quantity"] # 合計金額を表示 print(f"合計金額: {total}円") |
注文金額を合計するサンプルコードです。
最終的に注文一覧の合計を計算し、「注文金額: ●●,●●●円
」と出力するプログラムです。
おわりに
Pythonの代入演算子の使い方を解説してきましたが、いかがだったでしょうか?
代入演算子を活用することで、コードの可読性を向上させ、プログラムを効果的に管理することができます。
代入演算子はプログラミングの基本の一環であり、条件に基づいた処理の制御にも重要な役割を果たしますので、Pythonの代入演算子を使いこなしていきましょう、