IT/Python3
파이썬 is 와 == 의 차이
어센트
2020. 9. 19. 16:45
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가 출력되는 것이다.