a = [1, 2, 3, 4]
b = a        # same ref
c = list(a)  # copy

a == b       # True
a is b       # True

a == c       # True
a is c       # False

파이썬에서 두 객체를 비교할 때 is 또는 == 연산자를 사용할 수 있는데, 구분해서 사용할 수 있어야 합니다.

  • is: 두 변수가 동일한(Identical) 객체를 참조하는 경우 (=has same reference) True
  • ==: 두 변수가 참조하는 객체가 동일한 값을 갖는 경우 True

당연히 'is not'과 !=의 관계도 이와 비슷하겠죠?

반응형