[python] (-5 ~ 256)에서 is 연산자

woojjn·2022년 1월 17일
0

python 기초

목록 보기
3/10

is 연산자는 메모리 주소를 비교하는 연산자입니다.
그렇기에 a = b라고 선언하지 않는 한 a is b는 False입니다.

첫번째 경우

a = 300
b = 300
print(a is b)
>>> False

그러나 예외도 있습니다.

두번째 경우

a = 5
b = 5
print(a is b)
>>> True

첫번째 경우에선 a와 b의 값이 같게 선언되어도 당연하게 둘의 메모리 주소값은 다른다는 것을 볼 수 있습니다. 그러나 두번째 경우를 보면, a와 b 값이 같게 선언된 경우 메모리 주소값 또한 같다는 것을 볼 수 있습니다.

이는 python언어에서 -5~256의 값에 대해서는 같은 메모리 주소를 참조하기 때문에 발생한 것입니다. 이 뿐 아니라 짧은 문자열에서도 해당됩니다. 이유는 이를 통해 메모리 낭비를 줄일 수 있기 때문에 이러한 방식을 사용하는 것입니다.

0개의 댓글