본문 바로가기
Programming/Python

python 비교 연산자와 is 연산자

by 데이터현 2022. 1. 11.

파이썬에서는 두 값을 비교할 때 == 연산자를 사용하게 된다.

이는 두 값이 같은지를 비교한다.

동일한 주소에 할당된 객체임을 비교하려면 is 연산자를 사용하면 된다.

>>> a = 1000
>>> b = 1000
>>> a == b
True
>>> a is b
False
>>> id(a), id(b)
(4399073552, 4399073584)

 

좀 더 작은 정수 값인 256을 바인딩하게 되면 ==와 is 연산자 모두 True를 리턴한다.

이는 a 와  b 모두 동일 객체를 바인딩하고 있다.

>>> a = 256
>>> b = 256
>>> id(a), id(b)
(140399467366080, 140399467366080)
>>> a == b
True
>>> a is b
True

파이썬은 정수 256까지에 대해서는 이미 해당 값이 존재하면 기존의 객체를 바인딩하게 된다.

이는 동일 값은 메모리에 여러번 할당함으로써 발생하는 메모리 낭비를 줄이기 위해서이다.

 

 

참조 :

https://wikidocs.net/91522

댓글