is 와 == 차이

이상해씨·2023년 11월 16일

is와 ==의 차이

== (Equality)

  • 객체의 값이 동일한지 확인
  • 객체의 내용이 동일할 경우 T, 상이할 경우 F
a = [1, 2, 3]
b = [1, 2, 3]

print(a == b)  # True, because the contents are the same

is (Identity)

  • 객체의 메모리 주소가 동일한지 확인 (값도 동일한지 확인)
  • 객체 간의 메모리 주소값이 일치할 경우 T, 상이할 경우 F
a = [1, 2, 3]
b = a

print(a is b)  # True, because a and b reference the same object

정리

  • ==는 값이 갖는 값의 동일성 확인, is는 객페가 정확하게 동일한 객체인지 확인
  • ==는 메모리 주소가 달라도 값이 동일하면 True, is 는 메모리 주소가 같아야 True를 반환
profile
공부에는 끝이 없다

0개의 댓글