【Python初学者】=と==の違いとは?初学者わだが実際に混乱したポイントを解説!

この記事は、プログラミング初学者が学びのアウトプットを兼ねてまとめた内容です。
どうもわだですこの記事では「=と==の違い」について、初学者目線で解説します。
「 = 」と「 == 」の違いとは?
☝️「 = 」は代入演算子と呼ばれ、右辺の値を左辺に代入するという意味です。
ここで重要なのが、右辺から左辺への一方通行だということ。
数学のイコールとは意味が違います。
☝️「 == 」は比較演算子と呼ばれ、両辺の値が等しいと言う意味です。
こちらが数学のイコールと同義です。
具体的な例
if文の例
✏️if文で、パスワード(secret)を入力してもらい、正しければ”ログイン成功!”間違っていれば”パスワードが違います”と表示
# 間違いのコード
password = input("パスワードを入力してください”)
if password = "secret”:
print("ログイン成功!”)
else: print("パスワードが違います”)
これだとSyntaxError(Pythonの文法に間違いがありますよという意味のエラー)。



この記事を読んでくださっている初学者の方も、
同じエラーでつまづいているのではないでしょうか?
ちなみに、わだは「=」をイコールだと思っていたので、頭の中が混乱しました。
プログラミング初学者からすると「 = 」は数学のイコールと同義と思ってしまうため、このようなエラーに直面してしまいますよね…。「等しい」を表現したいときプログラミングでは「 == 」を使います!
# 正しいコード
password = input("パスワードを入力してください")
if password == "secret":
print("ログイン成功!")
else: print("パスワードが違います")
階乗計算の例
✏️for文を使った階乗計算
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
print(factorial(5)) #120



「result *= i」のところ!
わだはこの時も「=」をイコールだと思っていたので、result と result * i がどうして等しいの?????と混乱してました。
これは、iが1からnまでの間にある間、result = result * i を計算→その結果を左辺のresultに代入を繰り返すことを表しています!(「 *= 」がわからない場合はこちらの記事をどうぞ。)



右辺から左辺への一方通行が重要なポイント!
【Python初学者】シリーズの他の記事はこちらから
最後に
どうも、プログラミング初学者のわだです。最後までお読みいただきありがとうございました。この記事は、学びを整理しながら理解を深めるために書いています。まだ駆け出しではありますが、同じように勉強している方の参考になれば嬉しいです。もし誤りや補足があれば、教えていただけると幸いです。










コメント