Python Operatoren
Was ist ein Operator?
Dieses Kapitel erklärt hauptsächlich Python-Operatoren. Sehen wir uns ein einfaches Beispiel an 4 +5 = 9 Im Beispiel werden4und5alsOperand bezeichnet;,+wird als Operator bezeichnet.
Die Programmiersprache Python unterstützt die folgenden Arten von Operatoren:
- Arithmetische Operatoren
- Vergleichsoperatoren (relationale Operatoren)
- Zuweisungsoperatoren
- Logische Operatoren
- Bitweise Operatoren
- Zugehörigkeitsoperatoren
- Identitätsoperatoren
- Operatorrangfolge
Als Nächstes lernen wir Python-Operatoren einen nach dem anderen kennen.
Arithmetische Operatoren in Python
Das Folgende setzt Variablen voraus: a=10,b=20:
| Operator | Beschreibung | Beispiel |
|---|---|---|
| + | Addition - Addiert zwei Objekte | a + b ergibt 30 |
| - | Subtraktion - Ergibt eine negative Zahl oder subtrahiert eine Zahl von einer anderen | a - b ergibt -10 |
| * | Multiplikation - Multipliziert zwei Zahlen oder gibt eine Zeichenkette zurück, die eine bestimmte Anzahl von Malen wiederholt wird | a * b ergibt 200 |
| / | Division - x geteilt durch y | b / a ergibt 2 |
| % | Modulus - Gibt den Rest der Division zurück | b % a ergibt 0 |
| ** | Exponent - Gibt x hoch y zurück | a**b ist 10 hoch 20, gibt 100000000000000000000 aus |
| // | Abrundungsdivision - Gibt den ganzzahligen Teil des Quotienten zurück (abgerundet) |
>>> 9//2 4 >>> -9//2 -5 |
Das folgende Beispiel demonstriert die Operationen aller arithmetischen Operatoren von Python:
Beispiele (Python 2.0+)
Beispiel ausführen »
Die Ausgabe des obigen Beispiels ist:
1 - c 的值为: 31 2 - c 的值为: 11 3 - c 的值为: 210 4 - c 的值为: 2 5 - c 的值为: 1 6 - c 的值为: 8 7 - c 的值为: 2
Hinweis:In Python 2.x kann eine Ganzzahl dividiert durch eine Ganzzahl nur eine Ganzzahl ergeben. Wenn Sie den Nachkommateil möchten, ändern Sie eine der Zahlen in einen float.
>>> 1/2 0 >>> 1.0/2 0.5 >>> 1/float(2) 0.5
Python-Vergleichsoperatoren
Im Folgenden wird angenommen, dass Variable a 10 und Variable b 20 ist:
| Operator | Beschreibung | Beispiel |
|---|---|---|
| == | Gleich – Vergleicht, ob Objekte gleich sind | (a == b) gibt False zurück. |
| != | Ungleich – Vergleicht, ob zwei Objekte ungleich sind | (a != b) gibt True zurück. |
| <> | Ungleich – Vergleicht, ob zwei Objekte ungleich sind.In Python 3 veraltet. | (a <> b) gibt True zurück. Dieser Operator ähnelt !=. |
| > | Größer als – Gibt zurück, ob x größer als y ist | (a > b) gibt False zurück. |
| < | Kleiner als – Gibt zurück, ob x kleiner als y ist. Alle Vergleichsoperatoren geben 1 für wahr und 0 für falsch zurück. Sie entsprechen jeweils den speziellen Variablen True und False. | (a < b) gibt True zurück. |
| >= | Größer oder gleich – Gibt zurück, ob x größer oder gleich y ist. | (a >= b) gibt False zurück. |
| <= | Kleiner als oder gleich - Gibt zurück, ob x kleiner als oder gleich y ist. | (a <= b) gibt True zurück. |
Das folgende Beispiel demonstriert die Operationen aller Python-Vergleichsoperatoren:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
1 - a 不等于 b 2 - a 不等于 b 3 - a 不等于 b 4 - a 大于等于 b 5 - a 大于 b 6 - a 小于等于 b 7 - b 大于等于 a
Python-Zuweisungsoperatoren
Im Folgenden wird angenommen, dass Variable a 10 und Variable b 20 ist:
| Operator | Beschreibung | Beispiel |
|---|---|---|
| = | Einfacher Zuweisungsoperator | c = a + b weist c das Ergebnis von a + b zu |
| += | Additionszuweisungsoperator | c += a ist äquivalent zu c = c + a |
| -= | Subtraktionszuweisungsoperator | c -= a ist äquivalent zu c = c - a |
| *= | Multiplikationszuweisungsoperator | c *= a ist äquivalent zu c = c * a |
| /= | Divisionszuweisungsoperator | c /= a ist äquivalent zu c = c / a |
| %= | Modulo-Zuweisungsoperator | c %= a ist äquivalent zu c = c % a |
| **= | Potenzzuweisungsoperator | c **= a ist äquivalent zu c = c ** a |
| //= | Floor-Division-Zuweisungsoperator | c //= a ist äquivalent zu c = c // a |
Das folgende Beispiel demonstriert die Operationen aller Python-Zuweisungsoperatoren:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
1 - c 的值为: 31 2 - c 的值为: 52 3 - c 的值为: 1092 4 - c 的值为: 52 5 - c 的值为: 2 6 - c 的值为: 2097152 7 - c 的值为: 99864
Bitweise Operatoren in Python
Bitweise Operatoren behandeln Zahlen zur Berechnung als Binärzahlen. Die Regeln für bitweise Operationen in Python sind wie folgt:
In der folgenden Tabelle ist die Variable a 60 und b 13, mit folgenden Binärformaten:
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
| Operator | Beschreibung | Beispiel |
|---|---|---|
| & | Bitweiser AND-Operator: Für die beiden an der Operation beteiligten Werte gilt: Wenn beide entsprechenden Bits 1 sind, ist das Ergebnisbit 1; andernfalls ist es 0. | (a & b) ergibt 12, binäre Erklärung: 0000 1100 |
| | | Bitweiser OR-Operator: Wenn mindestens eines der beiden entsprechenden Binärbits 1 ist, ist das Ergebnisbit 1. | (a | b) ergibt 61, binäre Erklärung: 0011 1101 |
| ^ | Bitweiser XOR-Operator: Wenn die beiden entsprechenden Binärbits unterschiedlich sind, ist das Ergebnis 1. | (a ^ b) ergibt 49, binäre Erklärung: 0011 0001 |
| ~ | Bitweiser NOT-Operator: Invertiert jedes Bit in der Binärdarstellung, wobei 0 zu 1 und 1 zu 0 wird.~xÄhnlich wie-x-1 | (~a ) ergibt -61, binäre Erklärung: 1100 0011 (in Zweierkomplementform dargestellt), in der Zweierkomplementform einer vorzeichenbehafteten Binärzahl. |
| << | Linksverschiebungsoperator: Alle Binärbits des Operanden werden um eine Anzahl von Bits nach links verschoben, bestimmt durch<<Die Zahl auf der rechten Seite gibt die Anzahl der Positionen an, um die verschoben wird. Höherwertige Bits werden verworfen, und niederwertige Bits werden mit 0 aufgefüllt. | a << 2 ergibt 240, binäre Erklärung: 1111 0000 |
| >> | Rechtsverschiebungsoperator: verschiebt alle Binärbits des Operanden links von ">>" um die angegebene Anzahl von Stellen nach rechts,>>Die Zahl rechts gibt die Anzahl der zu verschiebenden Positionen an. | a >> 2 ergibt 15, binäre Erklärung: 0000 1111 |
Das folgende Beispiel demonstriert die Operationen aller bitweisen Operatoren in Python:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
1 - c 的值为: 12 2 - c 的值为: 61 3 - c 的值为: 49 4 - c 的值为: -61 5 - c 的值为: 240 6 - c 的值为: 15
Logische Operatoren in Python
Die Sprache Python unterstützt logische Operatoren. Angenommen, Variable a ist 10 und b ist 20:
| Operator | Logischer Ausdruck | Beschreibung | Beispiel |
|---|---|---|---|
| und | x and y | Boolesches "and" - Wenn x False ist, gibt x and y False zurück, andernfalls gibt es den ausgewerteten Wert von y zurück. | (a and b) gibt 20 zurück. |
| oder | x or y | Boolesches "or" - Wenn x ungleich null ist, gibt es den ausgewerteten Wert von x zurück, andernfalls gibt es den ausgewerteten Wert von y zurück. | (a or b) gibt 10 zurück. |
| not | not x | Boolesches "not" - Wenn x True ist, gibt es False zurück. Wenn x False ist, gibt es True zurück. | not(a and b) gibt False zurück |
Die Ausgabe des obigen Beispiels ist:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
1 - 变量 a 和 b 都为 True 2 - 变量 a 和 b 都为 True,或其中一个变量为 True 3 - 变量 a 和 b 有一个不为 True 4 - 变量 a 和 b 都为 True,或其中一个变量为 True 5 - 变量 a 和 b 都为 False,或其中一个变量为 False
Python-Mitgliedschaftsoperatoren
Zusätzlich zu den oben genannten Operatoren unterstützt Python auch Mitgliedschaftsoperatoren, die testen, ob eine Sequenz eine Reihe von Elementen enthält, einschließlich Strings, Listen oder Tupel.
| Operator | Beschreibung | Beispiel |
|---|---|---|
| in | Gibt True zurück, wenn der Wert in der angegebenen Sequenz gefunden wird, andernfalls wird False zurückgegeben. | x in y-Sequenz, gibt True zurück, wenn x in der y-Sequenz enthalten ist. |
| not in | Gibt True zurück, wenn der Wert in der angegebenen Sequenz nicht gefunden wird, andernfalls wird False zurückgegeben. | x not in y-Sequenz, gibt True zurück, wenn x nicht in der y-Sequenz ist. |
Das folgende Beispiel demonstriert die Funktionsweise aller Membership-Operatoren in Python:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
1 - 变量 a 不在给定的列表中 list 中 2 - 变量 b 不在给定的列表中 list 中 3 - 变量 a 在给定的列表中 list 中
Python-Identitätsoperatoren
Identitätsoperatoren werden verwendet, um die Speichereinheiten zweier Objekte zu vergleichen
| Operator | Beschreibung | Beispiel |
|---|---|---|
| ist | is bestimmt, ob zwei Bezeichner auf dasselbe Objekt verweisen | x is y, ähnlich wieid(x) == id(y), wenn sie auf dasselbe Objekt verweisen, wird True zurückgegeben; andernfalls wird False zurückgegeben |
| ist nicht | is not bestimmt, ob zwei Bezeichner auf unterschiedliche Objekte verweisen | x is not y, ähnlich wieid(a) != id(b). Wenn sie nicht auf dasselbe Objekt verweisen, gibt das Ergebnis True zurück; andernfalls gibt es False zurück. |
Hinweis: id()Die Funktion wird verwendet, um die Speicheradresse eines Objekts abzurufen.
Das folgende Beispiel demonstriert die Operationen aller Identitätsoperatoren in Python:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
1 - a 和 b 有相同的标识 2 - a 和 b 有相同的标识 3 - a 和 b 没有相同的标识 4 - a 和 b 没有相同的标识
Unterschied zwischen is und ==:
is wird verwendet, um festzustellen, ob zwei Variablenreferenzen auf dasselbe Objekt (denselben Speicherbereich) verweisen; == wird verwendet, um festzustellen, ob die Werte der referenzierten Variablen gleich sind.
>>> a = [1, 2, 3] >>> b = a >>> b is a True >>> b == a True >>> b = a[:] >>> b is a False >>> b == a True
Python-Operatorrangfolge
Die folgende Tabelle listet alle Operatoren von der höchsten zur niedrigsten Priorität auf:
| Operator | Beschreibung |
|---|---|
| ** | Potenzierung (höchste Priorität) |
| ~ + - | Bitweise Inversion, unäres Plus und Minus (die Methodennamen für die letzten beiden sind +@ und -@) |
| * / % // | Multiplikation, Division, Modulo und Floor-Division |
| + - | Addition und Subtraktion |
| >> << | Rechtsverschiebungs- und Linksverschiebungsoperatoren |
| & | Bitweises 'AND' |
| ^ | | Bitweise Operatoren |
| <= < > >= | Vergleichsoperatoren |
| <> == != | Gleichheitsoperatoren |
| = %= /= //= -= += *= **= | Zuweisungsoperatoren |
| is is not | Identitätsoperatoren |
| in not in | Zugehörigkeitsoperatoren |
| not and or | Logische Operatoren |
Das folgende Beispiel demonstriert die Operationen aller Operatorrangfolgen in Python:
Beispiele (Python 2.0+)
Die Ausgabe des obigen Beispiels ist:
(a + b) * c / d 运算结果为: 90 ((a + b) * c) / d 运算结果为: 90 (a + b) * (c / d) 运算结果为: 90 a + (b * c) / d 运算结果为: 50Weitere Erweiterungen