반응형
파이썬에서 != 과 is not의 차이점은?
결론부터 말씀드리자면, Python에서 !=와 is not은 동일한 의미를 가지지 않습니다.
예시를 보면 이해가 빠를 것 같습니다.
a = [1, 2, 3]
b = [1, 2, 3]
c = a
# 값 비교
print(a != b) # True (리스트 a와 b의 값은 같지만 다른 객체)
print(a != c) # False (리스트 a와 c의 값과 객체가 같음)
# is not 비교
print(a is not b) # True (리스트 a와 b는 메모리 상에서 다른 객체)
print(a is not c) # False (리스트 a와 c는 메모리 상에서 같은 객체)
# None과의 비교
d = None
print(d != None) # False (d는 None과 같은 값을 가짐)
print(d is not None) # False (d는 None 객체)
a와 b는 값이 [1, 2, 3]으로 동일하지만, 서로 다른 객체입니다. 따라서 a != b는 True를 반환합니다.
is not 연산자는 객체의 메모리 주소를 비교하여 동일한 객체인지를 확인합니다.
d는 None 값을 가지는 변수입니다.
d != None은 False를 반환합니다.
d is not None도 False를 반환합니다.
이는 None은 파이썬에서 유일한 단일 객체이므로, is 연산자를 사용하여 None과의 동일성을 확인하는 것이 정확한 방법입니다.
반응형
'다양한 TIP' 카테고리의 다른 글
Speech recognition Python 설치해보기(Speech to text Python) (0) | 2023.06.06 |
---|---|
Apache Tomcat 설치방법(윈도우) (0) | 2023.06.02 |
구글 바드 Bard AI 사용 방법 (0) | 2023.05.17 |
댓글