본문으로 건너뛰기

두 객체가 동일한지 확인하는 is 연산자

두 객체가 동일한지 확인하는 is 연산자

파이썬에서는 모든 것이 객체(object)입니다. 객체는 데이터와 이 데이터와 관련된 동작(메서드)을 포함하는 모든 것을 의미합니다.

is 연산자는 두 객체가 동일한 객체인지를 확인할 때 사용됩니다.

즉, is 연산자는 두 객체가 메모리 상에서 같은 위치에 있는지(즉, 컴퓨터의 동일한 위치에 저장된 같은 객체인지)를 검사합니다.

이는 == 연산자와 다릅니다. == 연산자는 두 객체의 값이 같은지를 비교하는 반면, is 연산자는 두 객체가 동일한 객체인지를 비교합니다.


is 연산자의 사용 예시

순서에 따라 여러 요소를 대괄호([])로 묶어 저장하는 자료형을 리스트(list)라고 합니다.

변수는 컴퓨터 상의 특정 주소(메모리)에 값을 저장하고, 이 주소를 통해 해당 값을 참조합니다.

아래 예시에서 변수 a와 b는 동일한 값을 갖지만 서로 다른 주소에 저장되어 있습니다.

is 연산자 사용 예시
a = [1, 2, 3]

b = [1, 2, 3]

print("a == b:", a == b) # True, a와 b의 값이 같음

print("a is b:", a is b) # False, a와 b는 서로 다른 객체(메모리 위치 다름)

이렇게 두 리스트가 다른 객체이더라도, 그 내용이 같다면 ==True를 반환하지만, isFalse를 반환합니다.

간단히 값을 비교할 때는 ==를 사용하고, 두 객체가 완전히 동일한지 확인할 때만 is를 사용하는 것이 좋습니다.