Maison  >  Article  >  développement back-end  >  En quoi la priorité des opérateurs logiques de Python diffère-t-elle de celle de C et C ?

En quoi la priorité des opérateurs logiques de Python diffère-t-elle de celle de C et C ?

DDD
DDDoriginal
2024-11-11 15:21:03190parcourir

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

Précédence des opérateurs logiques (NON, ET, OU) en Python

Contrairement à C et C où la priorité des opérateurs logiques suit la séquence PAS > ET > OU, la priorité de Python peut sembler déroutante.

Clarification

En Python, la séquence de priorité des opérateurs logiques est en fait :

NON > ; ET > OR

Cela signifie que NOT a une priorité plus élevée que AND, tandis que AND a une priorité plus élevée que OR.

Tableau de priorité

Pour un compréhension complète de la priorité des opérateurs en Python, voici le tableau de priorité complet :

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...}

Exemple

Considérez l'expression suivante :

x = not (a or b) and c

À l'aide du tableau de priorité, nous évaluons l'expression comme suit :

  1. Évaluons a ou b, ce qui donne Vrai.
  2. Appliquons ne pas à Vrai, ce qui donne Faux.
  3. Évaluez c, ce qui peut donner soit Vrai, soit Faux.
  4. Appliquez et à Faux et c. Puisqu'un opérande est Faux, le résultat est Faux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn