
값 비교 시 is 연산자를 쓰면 안되는 이유
2023. 12. 29. 17:56
프로그래밍 언어/Python
is 연산자는 두 값이 같은지를 비교하는 것이 아닙니다. 두 객체가 메모리 상 동일한 주소에 저장되어 있는지를 비교합니다. 그렇기 때문에 두 값을 비교할 때는 반드시 is 연산자가 아닌 == 연산자를 사용해야 합니다. is 연산자는 어떻게 동작하는지 직접 코드를 작성하며 알아봤습니다. a = 1000 b = 1000 # 값이 같은지 비교 print(a == b) # 메모리 상에 각각 변수 a, b 에 저장된 값이 저장된 위치 print(id(a), id(b)) # 메모리 상 동일한 주소에 저장되어 있는지 비교 print(a is b) # 출력 결과 True 134878452576752 134878452577488 False 참고) 파이썬에서 정수 256 까지는 이미 해당 값이 메모리 상에 존재하면 기존의..