Programming/Python
python 비교 연산자와 is 연산자
데이터현
2022. 1. 11. 12:43
파이썬에서는 두 값을 비교할 때 == 연산자를 사용하게 된다.
이는 두 값이 같은지를 비교한다.
동일한 주소에 할당된 객체임을 비교하려면 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까지에 대해서는 이미 해당 값이 존재하면 기존의 객체를 바인딩하게 된다.
이는 동일 값은 메모리에 여러번 할당함으로써 발생하는 메모리 낭비를 줄이기 위해서이다.
참조 :