Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 !=와 is not 연산자의 차이점 완벽 정리

Python의 != 연산자란?

Python에서 !=는 '같지 않음(not equal)'을 의미하는 비교 연산자입니다. 연산자 양쪽에 있는 피연산자의 이 서로 다르면 True를 반환하고, 값이 같으면 False를 반환합니다.

>>> (10+2) != 12                  # 두 표현식의 결과가 같으므로 False
False
>>> (10+2) == 12
True
>>> 'computer' != "computer"      # 작은따옴표와 큰따옴표는 동일하게 취급되므로 False
False
>>> 'computer' != "COMPUTER"     # 대소문자가 다른 문자열은 서로 다른 값이므로 True
True

is not 연산자란?

반면 is not 연산자는 두 객체의 id(), 즉 메모리에 저장된 객체의 고유 식별자(정체성)가 동일한지를 확인합니다. 두 이름이 같은 객체를 가리키고 있다면 False를, 서로 다른 객체라면 True를 반환합니다.

>>> a = 10
>>> b = a
>>> id(a), id(b)
(490067904, 490067904)           # a와 b는 같은 객체를 참조
>>> a is not b
False
>>> a = 10
>>> b = 20
>>> id(a), id(b)
(490067904, 490068064)           # a와 b는 서로 다른 객체
>>> a is not b
True

핵심 차이점 요약

  • !=: 두 객체의 값(value)이 같은지 비교하는 연산자입니다.
  • is not: 두 변수가 동일한 객체(identity)를 가리키는지, 즉 id()가 같은지 비교하는 연산자입니다.

따라서 값이 같아도 서로 다른 객체일 수 있으며, 이 경우 !=False를 반환하지만 is notTrue를 반환할 수 있습니다. 일반적인 값 비교에는 !=를 사용하고, None 여부 확인 등 객체 정체성을 검사해야 할 때만 is not을 사용하는 것이 권장됩니다.