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:

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:

OperatorBeschreibungBeispiel
+Addition - Addiert zwei Objektea + b ergibt 30
-Subtraktion - Ergibt eine negative Zahl oder subtrahiert eine Zahl von einer anderena - b ergibt -10
*Multiplikation - Multipliziert zwei Zahlen oder gibt eine Zeichenkette zurück, die eine bestimmte Anzahl von Malen wiederholt wirda * b ergibt 200
/Division - x geteilt durch yb / a ergibt 2
%Modulus - Gibt den Rest der Division zurückb % a ergibt 0
**Exponent - Gibt x hoch y zurücka**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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 21 b = 10 c = 0 c = a + b print "1 - Der Wert von c ist:", c c = a - b print "2 - Der Wert von c ist:", c c = a * b print "3 - Der Wert von c ist:", c c = a / b print "4 - Der Wert von c ist:", c c = a % b print "5 - Der Wert von c ist:", c # Ändern Sie die Werte der Variablen a, b, c a = 2 b = 3 c = a**b print "6 - Der Wert von c ist:", c a = 10 b = 5 c = a//b print "7 - Der Wert von c ist:", c

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:

OperatorBeschreibungBeispiel
==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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 21 b = 10 c = 0 if a == b : print "1 - a ist gleich b" else: print "1 - a ist nicht gleich b" if a != b : print "2 - a ist nicht gleich b" else: print "2 - a ist gleich b" if a <> b : print "3 - a ist nicht gleich b" else: print "3 - a ist gleich b" if a < b : print "4 - a ist kleiner als b" else: print "4 - a ist größer als oder gleich b" if a > b : print "5 - a ist größer als b" else: print "5 - a ist kleiner oder gleich b" # Ändere die Werte der Variablen a und b a = 5 b = 20 if a <= b : print "6 - a ist kleiner oder gleich b" else: print "6 - a ist größer als b" if b >= a : print "7 - b ist größer oder gleich a" else: print "7 - b ist kleiner als a"

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:

OperatorBeschreibungBeispiel
=Einfacher Zuweisungsoperatorc = a + b weist c das Ergebnis von a + b zu
+=Additionszuweisungsoperatorc += a ist äquivalent zu c = c + a
-=Subtraktionszuweisungsoperatorc -= a ist äquivalent zu c = c - a
*=Multiplikationszuweisungsoperatorc *= a ist äquivalent zu c = c * a
/=Divisionszuweisungsoperatorc /= a ist äquivalent zu c = c / a
%=Modulo-Zuweisungsoperatorc %= a ist äquivalent zu c = c % a
**=Potenzzuweisungsoperatorc **= a ist äquivalent zu c = c ** a
//=Floor-Division-Zuweisungsoperatorc //= a ist äquivalent zu c = c // a

Das folgende Beispiel demonstriert die Operationen aller Python-Zuweisungsoperatoren:

Beispiele (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 21 b = 10 c = 0 c = a + b print "1 - Der Wert von c ist:", c c += a print "2 - Der Wert von c ist:", c c *= a print "3 - Der Wert von c ist:", c c /= a print "4 - Der Wert von c ist:", c c = 2 c %= a print "5 - Der Wert von c ist:", c c **= a print "6 - Der Wert von c ist:", c c //= a print "7 - Der Wert von c ist:", c

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
OperatorBeschreibungBeispiel
&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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print "1 - der Wert von c ist:", c c = a | b; # 61 = 0011 1101 print "2 - der Wert von c ist:", c c = a ^ b; # 49 = 0011 0001 print "3 - der Wert von c ist:", c c = ~a; # -61 = 1100 0011 print "4 - der Wert von c ist:", c c = a << 2; # 240 = 1111 0000 print "5 - der Wert von c ist:", c c = a >> 2; # 15 = 0000 1111 print "6 - der Wert von c ist:", c

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:

OperatorLogischer AusdruckBeschreibungBeispiel
undx and yBoolesches "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.
oderx or yBoolesches "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.
notnot xBoolesches "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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 10 b = 20 if a and b : print "1 - Variablen a und b sind beide True" else: print "1 - eine der Variablen a und b ist nicht True" if a or b : print "2 - Variablen a und b sind beide True, oder eine der Variablen ist True" else: print "2 - Variablen a und b sind beide nicht True" # Wert der Variablen a ändern a = 0 if a and b : print "3 - Variablen a und b sind beide True" else: print "3 - eine der Variablen a und b ist nicht True" if a or b : print "4 - Variablen a und b sind beide True, oder eine der Variablen ist True" else: print "4 - Variablen a und b sind beide nicht True" if not( a and b ): print "5 - Variablen a und b sind beide False, oder eine der Variablen ist False" else: print "5 - Variablen a und b sind beide True"

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.

OperatorBeschreibungBeispiel
inGibt 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 inGibt 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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print "1 - Variable a ist in der angegebenen Liste" else: print "1 - Variable a ist nicht in der angegebenen Liste" if ( b not in list ): print "2 - Variable b ist nicht in der angegebenen Liste" else: print "2 - Variable b ist in der angegebenen Liste" # Wert von Variable a ändern a = 2 if ( a in list ): print "3 - Variable a ist in der angegebenen Liste" else: print "3 - Variable a ist nicht in der angegebenen Liste"

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

OperatorBeschreibungBeispiel
istis 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 nichtis 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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 20 b = 20 if ( a is b ): print "1 - a und b haben dieselbe Identität" else: print "1 - a und b haben nicht dieselbe Identität" if ( a is not b ): print "2 - a und b haben nicht dieselbe Identität" else: print "2 - a und b haben dieselbe Identität" # den Wert der Variablen b ändern b = 30 if ( a is b ): print "3 - a und b haben dieselbe Identität" else: print "3 - a und b haben nicht dieselbe Identität" if ( a is not b ): print "4 - a und b haben nicht dieselbe Identität" else: print "4 - a und b haben dieselbe Identität"

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:

OperatorBeschreibung
** 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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 20 b = 10 c = 15 d = 5 e = 0 e = (a + b) * c / d #( 30 * 15 ) / 5 print "Das Ergebnis von (a + b) * c / d ist:", e e = ((a + b) * c) / d # (30 * 15 ) / 5 print "Das Ergebnis von ((a + b) * c) / d ist:", e e = (a + b) * (c / d); # (30) * (15/5) print "Das Ergebnis von (a + b) * (c / d) ist:", e e = a + (b * c) / d; # 20 + (150/5) print "Das Ergebnis von a + (b * c) / d ist:", e

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 运算结果为: 50
Weitere Erweiterungen