Programming/Python

[Python] is 와 == 연산자의 차이점 정리

킹우현 2023. 9. 6. 13:04

파이썬에서 같은지 다른지를 확인하는 데 사용하는 것이 == 기호와 is 키워드입니다.

 

1) 값이 같은지 확인하는 '=='

A == B : A와 B의 값이 같은 경우 True를 반환합니다. A와 B의 값이 다른 경우 False를 반환합니다.

'=='는 A와 B가 참조가 같든 다르든 상관없이 오직 "값"이 같은지만 확인합니다.

 

* 번외로 != 는 A != B 일 때
A와 B의 값이 다른 경우 True를 반환하고
A와 B의 값이 같은 경우 False를 반환합니다.

 

2) 참조가 같은지 확인하는 'is'

A is B : A와 B의 참조가 같은 경우 True 를 반환합니다. A와 B의 참조가 다른 경우 False를 반환합니다.

'is'는 참조가 같은지 확인을 합니다. "참조가 같다"는 것은, "같은 객체를 가리키고 있다"와 동일한 뜻입니다. 즉, A와 B가 가리키는 객체가 같으면 True 인 것입니다.

 

이렇게, 변수가 가리키고 있는 객체(주소)가 같은지를 확인할 때 is 를 사용합니다.

 

3) 요약

값이 같은지 확인하려면 == 을 사용하시면 되고, 참조가 같은지를 확인하려면 is를 사용하시면 됩니다.

 

좀 더 자세히 정리하자면 값과 참조 둘 다 같은지를 알고 싶다면 is를 사용하고 참조는 달라도 되고 값만 비교하고 싶을 때는 ==, != 을 사용면 됩니다.