Python1 is vs == 파이썬에서 is를 사용할 때는 비교 대상이 같은 객체를 가리킬 때 True가 된다. 같은 객체를 가리킨다는 건 결국 두 객체는 같은 메모리 주소에 위치한다는 말이고, 그 말은 가령 a = [1,2,3] b = a 로 할당을 했을 때, b[0] = 4로 변경하면 a[0] = 4로 변경된다. 하지만 동일한 값을 갖는 객체라도 객체 자체가 다르다면.. 가령 위의 a를 c = list(a) 로 새로운 리스트 객체를 만들어서 사용한다면 a와 c는 다른 주소에 저장될 것이기 때문에 a is c 가 false가 될 것이다. 하지만 == 는 내부의 값들을 비교해서 같으면 True를 반환하기 때문에 a == c가 된다. 아마도 코드 흐름에서 앞에서 객체를 만든 후 뒤에서 그 앞에서 만든 객체가 맞는지? 확인할 때 쓸 수.. 2020. 12. 12. 이전 1 다음 반응형