> 백엔드 개발 > 파이썬 튜토리얼 > Python 문자열 비교: `==`는 `is`와 언제 다릅니까?

Python 문자열 비교: `==`는 `is`와 언제 다릅니까?

Barbara Streisand
풀어 주다: 2024-12-26 16:39:14
원래의
609명이 탐색했습니다.

Python String Comparison: When Does `==` Differ From `is`?

문자열 비교의 불일치 탐구: '==' 대 'is'

'==를 사용하여 문자열을 비교하는 행위 ' 또는 '이다'는 때때로 대조되는 결과를 낳을 수 있습니다. 이는 왜 이러한 차이가 존재하는지에 대한 의문을 제기합니다.

두 문자열 변수가 동일한 값을 가질 수 있지만 's1 == s2'는 지속적으로 True를 반환하는 반면, 's1 is s2'는 때때로 False를 반환합니다.

Python으로 해석하면 유사한 비교가 성공합니다.

>>> s1 = 'text'
>>> s2 = 'text'
>>> s1 is s2
True
로그인 후 복사

이 현상을 이해하려면 신원 테스트를 구별하는 것이 중요합니다. ('is') 및 동등성 테스트('==').

제공된 예에서 발생하는 상황은 다음과 같이 인터프리터에서 복제됩니다.

>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False
로그인 후 복사

차이는 ' is'는 객체의 ID(즉, 메모리 주소)를 비교하는 반면, '=='는 해당 값을 비교합니다. 위 시나리오에서 'a'와 'b'는 동일한 값을 가지지만 메모리에 별도로 존재합니다.

따라서 'a is b'는 별개의 개체이므로 False로 평가되는 것이 논리적입니다. 내용이 일치합니다. 본질적으로 'a is b'는 'id(a) == id(b)'와 유사합니다.

위 내용은 Python 문자열 비교: `==`는 `is`와 언제 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿