SyntaxWarning: "is"with a literal. Did you mean "=="? 誤り


daysでtupleを閉じてWEDになったときの重複を避けるために、以下のPythonコードを作成しましたが、エラーが発生しました.
SyntaxWarning: "is"with a literal. Did you mean "=="?

問題コード

days = ("MON", "TUE", "WED", "THU")

for day in days:
  if day is "WED":
    break
  else:
    print(day)
エラー内容により、上記のコードは以下のように修正され、正常に動作します.

コードの変更

days = ("MON", "TUE", "WED", "THU")

for day in days:
  if day == "WED":
    break
  else:
    print(day)
エラーの原因はis比較reference(ポインタ)です.
is演算子は、None、True、Falseを比較するために使用することができる.
値(データ)の比較に==を使用します.