Python 없음 비교 이해: "is" 대 ==
Python 개발자는 변수를 비교할 때 "is" 또는 ==를 사용할지 묻는 질문에 자주 직면합니다. 없음. 두 옵션 모두 유효한 구문이 되지만 선호되는 접근 방식은 의도한 비교에 따라 다릅니다.
주요 차이점은 다음의 특성에 있습니다. 비교: 객체 동일성 또는 동일성.
None의 경우 Python에는 해당 개체가 하나만 있습니다. 따라서 my_var is None은 my_var이 동일한 None 객체를 참조하는지 확인합니다.
둘 다 None이고 == None인 반면 유효한 구문인 is None은 더 명시적이고 오류가 발생할 가능성이 적은 것으로 간주됩니다.
다음 상황을 고려하세요.
class Negator(object): def __eq__(self, other): return not other thing = Negator() print(thing == None) # True print(thing is None) # False
이 예에서 Negator 클래스는 == 연산자를 재정의하여 항상 인수의 반대를 반환합니다. 결과적으로 thing == None은 True로 평가되어 값이 동일함을 나타냅니다. 그러나 thing is None은 False로 올바르게 평가되어 thing과 None이 동일한 객체가 아님을 나타냅니다.
다음과의 비교를 포함하여 객체 ID를 확인합니다. 없음이 선호되는 접근 방식입니다. 이는 명확성을 보장하고 재정의된 같음 연산자로 인해 발생할 수 있는 잠재적인 모호성을 방지합니다. 는 신원을 확인하는 반면 ==는 동등성을 확인한다는 점을 기억하세요.
위 내용은 Python에서 '== None'보다 'is None'이 선호되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!