Erkennen Sie sich selbst und kennen Sie den Feind. Nur wenn Sie die Prioritätsreihenfolge der Python-Operatoren verstehen, können Sie besseren Code schreiben. In diesem Artikel wird die Vorrangstellung von Python-Operatoren ausgehend von grundlegenden Konzepten vorgestellt und das Verständnis anhand spezifischer Codebeispiele vertieft.
Das Konzept der Python-Operatorpriorität ähnelt der Operatorpriorität in der Mathematik. In einem Ausdruck haben Operatoren unterschiedliche Prioritäten und Operatoren mit höherer Priorität werden vor Operatoren mit niedrigerer Priorität ausgewertet. Wenn die Operatorpriorität nicht verstanden wird, kann dies dazu führen, dass Ausdrücke nicht wie erwartet ausgewertet werden.
Zuerst müssen wir die Klassifizierung von Python-Operatoren kennen. Die Operatoren von Python sind hauptsächlich in arithmetische Operatoren, Vergleichsoperatoren, Zuweisungsoperatoren, logische Operatoren und bitweise Operatoren unterteilt. Jeder Operatortyp hat eine bestimmte Priorität.
Die Priorität der arithmetischen Operatoren von hoch nach niedrig ist: Exponentenoperator (*), Plus- und Minuszeichen (+, -), Multiplikation und Division (, /, //, %), Addition und Subtraktion ( +, -).
Das Folgende ist ein Beispielcode, der die Anwendung der Priorität arithmetischer Operatoren zeigt:
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,先计算负号再乘法
Vergleichsoperatoren haben eine höhere Priorität und ihre Priorität ist wie folgt: kleiner als (<), kleiner als oder gleich (<= ), größer als (>), größer oder gleich (>=), gleich (==), ungleich (!=).
Das Folgende ist ein Beispiel für die Priorität von Vergleichsoperatoren:
e = 4 > 3 + 1 print(e) # 输出结果为False,先计算加法再比较大小 f = 2 + 3 != 5 print(f) # 输出结果为False,先计算加法再比较大小再判断不等于 g = 5 == 2 * 2 + 1 print(g) # 输出结果为True,先计算乘法再加法再比较大小再判断等于
Die Priorität von Zuweisungsoperatoren ist relativ niedrig. Ihre Prioritäten sind von rechts nach links: Zuweisungsoperator (=), inkrementeller Zuweisungsoperator (+=, -=, =, /=, //=, %=, *=).
Sehen wir uns ein Beispiel für die Priorität von Zuweisungsoperatoren an:
h = i = j = 1 + 2 print(h, i, j) # 输出结果为3,分别是3,3,3,从右往左赋值 k = 5 k += 2 * 3 print(k) # 输出结果为11,先计算乘法再加法再增量赋值
Die Priorität logischer Operatoren von hoch nach niedrig ist: nicht (nicht), und (und), oder (oder).
Das Folgende ist ein Beispiel für die Priorität logischer Operatoren:
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
Das letzte ist die Priorität von Bitoperatoren von hoch nach niedrig: bitweise Negation (~), bitweises UND ( &), bitweise ODER (|), bitweises XOR (^), Linksverschiebung (<<) und Rechtsverschiebung (>>).
Das folgende Beispiel zeigt die Anwendung der bitweisen Operatorpriorität:
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,先计算加法再右移
Durch das obige Beispiel können wir die Rangfolge von Python-Operatoren klar verstehen. Das genaue Erfassen der Operatorpriorität ist für das Schreiben und Lesen von Code sehr wichtig und kann viele potenzielle Fehler vermeiden. Ich hoffe, dass dieser Artikel den Lesern helfen kann, ein tieferes Verständnis der Vorrangstellung von Python-Operatoren zu erlangen und diese flexibel in der Praxis anwenden zu können.
Das obige ist der detaillierte Inhalt vonBeherrschen Sie die Rangfolge der Python-Operatoren und gewinnen Sie Einblicke in Ihre Gegner. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!