파이썬에서 is와 ==의 차이점

파이썬에서 is와 ==의 차이점

How Different is and == in Python

코드

if type(150421) is int :
    print("!")
else :
    print("?")

x = [1,2]
y = [1,2]
x == y
x is y

설명

깃허브에서 파이썬 코드를 보다보면 간혹 is라는 게 보이기도 한다. 코드가 문장처럼 편안하게 읽히는 것은 둘째치더라도 ==와는 분명한 차이가 있어 적재적소에 사용하면 좋다:

  • ==는 단순하게 값을 비교한다. 우리에게 실제로 보이는 모습을 비교하기 때문에 직관적이다.
  • is는 포인터가 가리키는 객체를 비교한다. 본질적으로 그 둘이 같은지를 알려준다.
댓글