まず結論
= は「値を入れる」ための記号です。
== は「同じかどうかを比べる」ための記号です。
score = 100
print(score == 100)
この例では、1行目で score に 100 を入れています。
2行目では、score が 100 と同じかどうかを調べています。
Pythonでは、数学で見慣れた記号でも意味が少し変わります。ここでは「代入」と「比較」を分けて考えます。
図で考えるなら
= は、名前のついた箱に値を入れる動きです。
name = "moco"
== は、2つのものを並べて「同じかな?」と見比べる動きです。
name == "moco"
イメージで考えるなら、左側は箱に入れる場面、右側は天秤やカードで見比べる場面です。 同じ記号に見えても、手の動きが違うと考えると迷いにくくなります。
よくある勘違い
初心者がよく書いてしまうのが、この形です。
if score = 100:
print("満点です")
これはエラーになります。
if の中では「条件」を書きたいので、代入の = ではなく比較の == を使います。
if score == 100:
print("満点です")
ここだけ覚えればOK
コードを書いていて迷ったら、こう考えてください。
- 値を保存したいなら
= - 同じか確認したいなら
== ifの条件で比べたいなら==
手を動かすミニ練習
次のコードで、score の数字を変えて表示を見比べてみましょう。
score = 80
print(score == 80)
print(score == 100)
1行目の score = 80 は、値を入れています。
下の2行の == は、「同じかな?」と調べています。
3行まとめ
- 「=」は右の値を左の名前に入れる。
- 「==」は左と右が同じかどうかを調べる。
- if文の条件で比べたいときは、基本的に「==」を使う。
ここまでの確認
- Pythonの計算記号を読める
- 値には型があると分かる
- =と==の役割を分けられる