days에서 tuple을 Loop하면서 WED가 되는 경우 반복을 빠져나오도록 하기 위해 다음과 같이 파이썬 코드를 작성하였으나 오류가 발생하였다.
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는 레퍼런스(포인터)를 비교하기 때문이다.
is 연산자는 되도록이면 None, True, False 등을 비교할 때 사용하고
값(데이터)를 비교할때는 ==를 사용하도록 하자.