본문 바로가기
IT/Python3

파이썬 is 와 == 의 차이

by 어센트 2020. 9. 19.

is는 id()를 이용해 비교하는 함수다. 즉 메모리 주소를 통해 비교를 한다.

None의 경우 null로서 값 자체가 정의되어 있지 않으므로 ==로 비교가 불가능하고 is를 이용해 비교해야한다.

is와 == 의 차이 예

a = [1,2,3]
a == a // True

a == list(a) //True

a is a // True

a is list(a) // False

마지막 줄 list(a)를 하게되면 별도의 객체로 복사가 되고 다른 ID를 가지게 된다. 따라서 False가 출력되는 것이다.

'IT > Python3' 카테고리의 다른 글

딕셔너리  (0) 2020.09.19
리스트  (1) 2020.09.19
파이썬과 C++ 참조 비교  (0) 2020.09.19
파이썬과 C++ 참조 비교  (0) 2020.09.19
백준 2577번(파이썬) 리스트 0으로 초기화  (0) 2019.08.27