> 백엔드 개발 > 파이썬 튜토리얼 > Python의 'and' 및 'or' 연산자는 부울이 아닌 값을 어떻게 처리합니까?

Python의 'and' 및 'or' 연산자는 부울이 아닌 값을 어떻게 처리합니까?

DDD
풀어 주다: 2024-12-17 22:50:15
원래의
830명이 탐색했습니다.

How Do Python's

Python에서 부울이 아닌 값이 "and" 및 "or"와 상호 작용하는 방식

질문:
Python에서는 다음이 관찰됩니다. 논리 연산자 "and" 및 "or"는 부울이 아닌 값에 대해 작동할 때 비정상적인 동작을 나타냅니다. 예를 들어, "10 및 7-2"라는 표현식은 True 또는 False 대신 5를 반환합니다. Python 프로그래밍에서 이 동작과 그 의미를 설명하십시오.

답변:
Python의 논리 연산자 "and" 및 "or"에는 부울이 아닌 값을 처리하기 위한 고유한 규칙이 있습니다.

"그리고" 동작:

  • 식의 값이 False이면 "False"가 반환됩니다.
  • False 값이 없으면 식의 마지막 값이 반환됩니다.

"또는" 동작:

  • 식의 값이 True이면 "True"가 반환됩니다.
  • True 값이 없으면 식의 마지막 값이 반환됩니다.

예제 표현식 "10 및 7-2":

  • 7-2는 5(부울이 아닌 값)로 평가됩니다.
  • 식에 False 값이 없으므로 "and"는 마지막 값을 반환합니다. 값은 5입니다.

마찬가지로 "10 또는 7-2":

  • 7-2는 5(부울이 아닌 값)로 평가됩니다.
  • 식(10)에 True 값이 있으므로 "or" 10을 반환합니다.

합법성과 주의 사항:
이러한 동작은 합법적이며 일반적으로 사용됩니다. 그러나 제대로 이해하지 못하면 예상치 못한 결과가 발생할 수 있습니다. 주의해야 할 사항은 다음과 같습니다.

  • 암시적 참/거짓 값: 빈 문자열, 빈 목록 및 None과 같은 일부 부울이 아닌 값은 암시적으로 False로 처리됩니다. , 0이 아닌 숫자는 암시적으로 True입니다.
  • 피연산자 순서: "and"와 "or"의 경우 피연산자의 순서가 중요합니다. 위의 예에서 "10 및 7-2"는 5를 반환하지만 "7-2 및 10"은 8을 반환합니다(5의 암시적 False 값은 "and"를 단락시키기 때문).
  • 유형 변환: "and" 및 "or"는 부울이 아닌 피연산자를 부울 값으로 변환하려고 시도합니다. 이는 "0 및 '0' == True"와 같은 경우 예상치 못한 결과가 발생할 수 있습니다(문자열 '0'은 암시적으로 False로 처리되므로).

위 내용은 Python의 'and' 및 'or' 연산자는 부울이 아닌 값을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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