본문 바로가기
3.연산자/식별

[파이썬] 식별 연산자 (identity operators)

by 만다린망고 2021. 9. 28.
반응형

식별연산자는 객체의 주소를 비교하는 연산자입니다. 식별연산자는 아래 두가지가 있습니다. 

is
is not

예를 들어봅시다. 

 

>>> a=3
>>> b=3
>>> a is b
True


얼핏 보면 비교 연산자 == 와 같아보이지만 다릅니다. 비교연산자는 값을 비교하는 반면 식별연산자는 객체의 주소를 비교합니다. 아래 예시를 봅시다. 

>>> a=1000
>>> b=1000
>>> a is b
False
>>> a==b
True


정수 -5부터 256 까지는 객체가 메모리에 생성되어 있기 때문에 주소가 일정합니다. 256보다 큰 정수는 어떨까요? 변수가 정의되는 순간 메모리에 주소가 할당되기 때문에 a와 b의 주소가 달랒비니다. 

id함수를 이용하면 객체 주소를 알 수 있습니다. 

>>> id(a)
2564013179184
>>> id(b)
2564013179088

 

반응형

댓글