더북(TheBook)

당연한 이야기지만, 문제는 동등성을 가지고 있더라도 동일성을 가지는 것은 일부 숫자와 일부 문자열에만 해당하며, 실제 프로그램은 거의 항상 실행 시간에 변하는 값을 비교해야 한다는 것입니다. 특별한 싱글턴 또는 컬렉션에서 서로 다른 위치에 있는 객체와 같이 두 사용자 정의 객체의 동일성이 매우 중요한 경우가 아니라면 동등성 검증을 사용하는 것이 좋습니다.

>>> fb1 = "foobar"
>>> fb2 = "foo" + "bar"
>>> fb3 = "   foobar   ".strip()
>>> fb1 is fb2, fb1 == fb2
(True, True)
>>> fb1 is fb3, fb1 == fb3
(False, True)

>>> c = 250 + 9
>>> d = 7 * 37
>>> c is d, c == d
(False, True)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.