Maison  >  Article  >  développement back-end  >  Maîtrisez l'ordre de priorité des opérateurs Python et obtenez un aperçu de vos adversaires

Maîtrisez l'ordre de priorité des opérateurs Python et obtenez un aperçu de vos adversaires

PHPz
PHPzoriginal
2024-01-20 08:50:061176parcourir

Maîtrisez lordre de priorité des opérateurs Python et obtenez un aperçu de vos adversaires

Connaissez-vous et connaissez l'ennemi. Ce n'est qu'en comprenant l'ordre de priorité des opérateurs Python que vous pourrez écrire un meilleur code. Cet article présentera la priorité des opérateurs Python en partant des concepts de base et approfondira la compréhension grâce à des exemples de code spécifiques.

Le concept de priorité des opérateurs Python est similaire à la priorité des opérateurs en mathématiques. Dans une expression, les opérateurs ont des priorités différentes et les opérateurs ayant une priorité plus élevée sont évalués avant les opérateurs ayant une priorité inférieure. Le fait de ne pas comprendre la priorité des opérateurs peut entraîner des expressions qui ne sont pas évaluées comme prévu.

Tout d'abord, nous devons connaître la classification des opérateurs Python. Les opérateurs de Python sont principalement divisés en opérateurs arithmétiques, opérateurs de comparaison, opérateurs d'affectation, opérateurs logiques et opérateurs au niveau du bit. Chaque type d'opérateur a une priorité spécifique.

La priorité des opérateurs arithmétiques de haut en bas est : l'opérateur exposant (*), les signes plus et moins (+, -), la multiplication et la division (, /, //, %), l'addition et la soustraction ( +, -).

Ce qui suit est un exemple de code montrant l'application de la priorité des opérateurs arithmétiques :

a = 2 + 3 * 4
print(a)  # 输出结果为14,先计算乘法再加法

b = (2 + 3) * 4
print(b)  # 输出结果为20,先计算括号里的加法再乘法

c = 2 ** 3 + 4
print(c)  # 输出结果为12,先计算指数运算再加法

d = -2 * 3
print(d)  # 输出结果为-6,先计算负号再乘法

Les opérateurs de comparaison ont une priorité plus élevée, et leur priorité est la suivante : inférieur à (), supérieur ou égal à (>=), égal à (==), différent de (!=).

Ce qui suit est un exemple de la priorité des opérateurs de comparaison :

e = 4 > 3 + 1
print(e)  # 输出结果为False,先计算加法再比较大小

f = 2 + 3 != 5
print(f)  # 输出结果为False,先计算加法再比较大小再判断不等于

g = 5 == 2 * 2 + 1
print(g)  # 输出结果为True,先计算乘法再加法再比较大小再判断等于

La priorité des opérateurs d'affectation est relativement faible. Leurs priorités de droite à gauche sont : l'opérateur d'affectation (=), l'opérateur d'affectation incrémentiel (+=, -=,. =, /=, //=, %=, *=).

Regardons un exemple de priorité d'opérateur d'affectation :

h = i = j = 1 + 2
print(h, i, j)  # 输出结果为3,分别是3,3,3,从右往左赋值

k = 5
k += 2 * 3
print(k)  # 输出结果为11,先计算乘法再加法再增量赋值

La priorité des opérateurs logiques de haut en bas est : non (pas), et (et), ou (ou).

Ce qui suit est un exemple de priorité des opérateurs logiques :

l = True or False and not True
print(l)  # 输出结果为True,先计算not再and再or

m = (True or False) and not True
print(m)  # 输出结果为False,先计算括号里的or再and再not

Le dernier est la priorité des opérateurs de bits. Les priorités des opérateurs de bits de haut en bas sont : la négation au niveau du bit (~), le AND au niveau du bit ( &), le niveau du bit. OU (|), XOR au niveau du bit (^), décalage gauche (>).

L'exemple suivant montre l'application de la priorité des opérateurs au niveau du bit :

n = 3 | 4 ^ 5 & ~6
print(n)  # 输出结果为2,顺序为5&~6=4、4^4=0、3|0=3

o = 8 << 2 + 1
print(o)  # 输出结果为64,先计算加法再左移

p = 8 >> 2 + 1
print(p)  # 输出结果为1,先计算加法再右移

Grâce à l'exemple ci-dessus, nous pouvons clairement comprendre l'ordre de priorité des opérateurs Python. Comprendre avec précision la priorité des opérateurs est très important pour l’écriture et la lecture du code et peut éviter de nombreuses erreurs potentielles. J'espère que cet article pourra aider les lecteurs à mieux comprendre la priorité des opérateurs Python et à pouvoir l'appliquer de manière flexible dans la pratique.

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