>  기사  >  백엔드 개발  >  Python의 논리 연산자 우선 순위는 C 및 C와 어떻게 다릅니까?

Python의 논리 연산자 우선 순위는 C 및 C와 어떻게 다릅니까?

DDD
DDD원래의
2024-11-11 15:21:03192검색

How does Python's logical operator precedence differ from C and C  ?

Python에서 논리 연산자(NOT, AND, OR)의 우선 순위

논리 연산자의 우선 순위가 순서를 따르는 C 및 C와 반대 아님 > 그리고 > 또는 Python의 우선순위가 혼란스러워 보일 수 있습니다.

설명

Python에서 논리 연산자의 우선순위 순서는 실제로 다음과 같습니다.

NOT > ; 그리고 > OR

NOT가 AND보다 우선순위가 높고 AND가 OR보다 우선순위가 높다는 의미입니다.

우선순위 테이블

Python의 연산자 우선순위에 대한 포괄적인 이해를 바탕으로 전체 우선순위 테이블은 다음과 같습니다.

Precedence Operator
0 :=
1 lambda
2 if - else
3 or
4 and
5 not x
6 in, not in, is, is not, <, <=, >, >=, !=, ==
7
8 ^
9 &
10 <<, >>
11 , -
12 *, @, /, //, %
13 x, -x, ~x
14 **, await x
15 x[index], x[index:index], x(arguments...), x.attribute
16 (expressions...), [expressions...], {key: value...}, {expressions...}

다음 표현식을 고려하세요.

우선순위 테이블을 사용하여 다음과 같이 표현식을 평가합니다.

  1. a 또는 b를 평가하여 True가 됩니다.
  2. True에 not을 적용하면 False가 됩니다.
  3. c를 평가하면 True 또는 False가 나올 수 있습니다.
  4. and를 False 및 c에 적용합니다. 피연산자 하나가 False이므로 결과는 False입니다.

위 내용은 Python의 논리 연산자 우선 순위는 C 및 C와 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.