SeouliteLab

[Python/파이썬] is와 ==의 차이점 본문

프로그래밍

[Python/파이썬] is와 ==의 차이점

Seoulite Lab 2024. 3. 5. 08:15

'is'와 '=='는 객체 비교 연산자로, 각각 객체의 식별성과 동등성을 확인합니다. 이 두 연산자의 차이점에 대해 알아보겠습니다.

'is' 연산자

'is' 연산자는 두 객체의 식별성을 비교합니다. 즉, 두 객체가 메모리 상의 동일한 위치를 참조하는지 확인합니다. 두 객체의 메모리 주소가 동일한 경우에만 'True'를 반환합니다.

'==' 연산자

'==' 연산자는 두 객체의 동등성을 비교합니다. 즉, 두 객체의 값이 같은지를 확인합니다. 객체의 값이 동일한 경우 'True'를 반환합니다. 파이썬에서 대부분의 데이터 타입은 '==' 연산자로 값을 비교할 때 객체의 내용이 같은지를 비교합니다.

'is' 연산자는 두 객체의 메모리 위치를 직접 비교하므로 더 빠르지만, '==' 연산자는 객체의 값을 비교하므로 내용이 같은지를 확인할 때 사용됩니다.

예제

예제 1: 'is' 연산자 사용

x = [1, 2, 3]
y = x
print(x is y)  # True

예제 2: '==' 연산자 사용

a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)  # True

예제 3: 'is'와 '==' 연산자의 차이

c = [1, 2, 3]
d = [1, 2, 3]
print(c is d)  # False
print(c == d)  # True