Website-Suche

Wie man in Python 3 mit Operatoren Mathe macht


Einführung

Zahlen sind in der Programmierung äußerst verbreitet. Sie werden verwendet, um Dinge wie Bildschirmgröße, geografische Standorte, Geld und Punkte, die Zeitdauer in einem Video, Positionen von Spiel-Avataren und Farben durch die Zuweisung numerischer Codes darzustellen.

Die Fähigkeit, mathematische Operationen im Programmieren effektiv auszuführen, ist eine wichtige Fähigkeit, die man entwickeln sollte, da man häufig mit Zahlen arbeitet. Obwohl ein grundlegendes Verständnis der Mathematik Ihnen sicherlich helfen kann, ein besserer Programmierer zu werden, ist es keine Voraussetzung. Wenn Sie keinen Hintergrund in Mathematik haben, versuchen Sie, Mathematik als ein Werkzeug zu betrachten, um das zu erreichen, was Sie möchten, und als eine Möglichkeit, Ihr logisches Denken zu verbessern.

Wir werden mit zwei der am häufigsten verwendeten numerischen Datentypen von Python arbeiten, Ganzzahlen und Gleitkommazahlen:

  • Ganzzahlen sind ganze Zahlen, die positiv, negativ oder 0 sein können (…, -1, 0, 1, …).
  • Gleitkommazahlen sind reelle Zahlen, sie enthalten einen Dezimalpunkt (wie in 9.0 oder -2.25).

Dieses Tutorial behandelt Operatoren, die mit Zahlendatentypen in Python verwendet werden können.

Voraussetzungen

Sie sollten Python 3 installiert und eine Programmierumgebung auf Ihrem Computer oder Server eingerichtet haben. Wenn Sie keine Programmierumgebung eingerichtet haben, können Sie auf die Installations- und Einrichtungsanleitungen für eine lokale Programmierumgebung oder für eine Programmierumgebung auf Ihrem Server verweisen, die für Ihr Betriebssystem (Ubuntu, CentOS, Debian usw.) geeignet ist.

Betriebsführer

Ein Operator ist ein Symbol oder eine Funktion, die eine Operation anzeigt. Zum Beispiel ist in der Mathematik das Pluszeichen oder + der Operator, der die Addition anzeigt.

In Python werden wir einige vertraute Operatoren sehen, die aus der Mathematik stammen, aber andere Operatoren, die wir verwenden werden, sind spezifisch für die Computerprogrammierung.

Hier ist eine schnelle Referenztabelle der mathematischen Operatoren in Python. Wir werden alle folgenden Operationen in diesem Tutorial behandeln.

OperationWas es zurückgibt
x + yDie Summe von x und y
x - yDifferenz von x und y
-xDas Vorzeichen von x geändert
+xIdentität von x
x * yProdukt von x und y
x/yQuotient von x und y
x/yQuotient aus der ganzzahligen Division von x und y
x % yRest von x/y
x ** yx zur yten Potenz

Wir werden auch die zusammengesetzten Zuweisungsoperatoren behandeln, einschließlich += und *=, die einen arithmetischen Operator mit dem =-Operator kombinieren.

Addition und Subtraktion

In Python funktionieren die Additions- und Subtraktionsoperatoren ähnlich wie in der Mathematik. Tatsächlich können Sie die Programmiersprache Python als Taschenrechner verwenden.

Info: Um dem Beispielcode in diesem Tutorial zu folgen, öffnen Sie eine Python-interaktive Shell auf Ihrem lokalen System, indem Sie den Befehl python3 ausführen. Dann können Sie die Beispiele kopieren, einfügen oder bearbeiten, indem Sie sie nach der >>> Eingabeaufforderung hinzufügen.

Lass uns einige Beispiele durchgehen, beginnend mit Ganzzahlen:

print(1 + 5)
[secondary_label Output] 
6

Anstatt ganze Zahlen direkt in die print-Anweisung einzufügen, können wir Variablen initialisieren, die für ganze Werte stehen:

a = 88
b = 103

print(a + b)
191

Da ganze Zahlen sowohl positive als auch negative Zahlen (und auch 0) sein können, können wir eine negative Zahl mit einer positiven Zahl addieren:

c = -36
d = 25

print(c + d)
-11

Die Addition wird sich ähnlich wie bei Fließkommazahlen verhalten:

e = 5.5
f = 2.5

print(e + f)
8.0

Weil wir zwei Fließkommazahlen addiert haben, gab Python einen Fließkommawert mit einer Nachkommastelle zurück.

Die Syntax für die Subtraktion ist die gleiche wie für die Addition, außer dass Sie Ihren Operator vom Pluszeichen (+) zum Minuszeichen (-) ändern werden.

g = 75.67
h = 32

print(g - h)
43.67

Hier haben wir eine Ganzzahl von einer Fließkommazahl subtrahiert. Python gibt eine Fließkommazahl zurück, wenn mindestens eine der in einer Gleichung beteiligten Zahlen eine Fließkommazahl ist.

Unäre arithmetische Operationen

Ein unärer mathematischer Ausdruck besteht nur aus einer Komponente oder einem Element, und in Python können das Plus- und Minuszeichen als einzelnes Element zusammen mit einem Wert verwendet werden, um die Identität des Wertes zurückzugeben (+) oder das Vorzeichen des Wertes zu ändern (-).

Obwohl es nicht häufig verwendet wird, zeigt das Pluszeichen die Identität des Wertes an. Wir können das Pluszeichen bei positiven Werten verwenden:

i = 3.3
print(+i)
3.3

Wenn wir das Pluszeichen mit einem negativen Wert verwenden, wird es auch die Identität dieses Wertes zurückgeben, und in diesem Fall wäre es ein negativer Wert:

j = -19
print(+j)
-19

Mit einem negativen Wert gibt das Pluszeichen denselben negativen Wert zurück.

Das Minuszeichen ändert alternativ das Vorzeichen eines Wertes. Wenn wir also einen positiven Wert übergeben, werden wir feststellen, dass das Minuszeichen vor dem Wert einen negativen Wert ergibt:

i = 3.3
print(-i)
-3.3

Alternativ, wenn wir den unary Operator Minuszeichen mit einem negativen Wert verwenden, wird ein positiver Wert zurückgegeben:

j = -19
print(-j)
19

Die unären arithmetischen Operationen, die durch das Plus- und Minuszeichen angezeigt werden, geben entweder die Identität des Wertes im Fall von +i zurück oder das entgegengesetzte Vorzeichen des Wertes wie bei -i.

Multiplikation und Division

Wie Addition und Subtraktion werden auch Multiplikation und Division sehr ähnlich aussehen wie in der Mathematik. Das Zeichen, das wir in Python für die Multiplikation verwenden, ist * und das Zeichen, das wir für die Division verwenden, ist /.

Hier ist ein Beispiel für die Multiplikation in Python mit zwei Fließkommawerten:

k = 100.1
l = 10.1

print(k * l)
1011.0099999999999

Wenn Sie in Python 3 dividieren, wird Ihr Quotient immer als Fließkommazahl zurückgegeben, auch wenn Sie zwei ganze Zahlen verwenden:

m = 80
n = 5

print(m / n)
16.0

Dies ist eine der wesentlichen Änderungen zwischen Python 2 und Python 3. Der Ansatz von Python 3 liefert eine Bruchantwort, sodass beim Teilen von 11 durch 2 mit / der Quotient von 5.5 zurückgegeben wird. In Python 2 beträgt der zurückgegebene Quotient für den Ausdruck 11/2 5.

Der /-Operator in Python 2 führt Ganzzahldivision durch, wobei für den Quotienten x die zurückgegebene Zahl die größte ganze Zahl ist, die kleiner oder gleich x ist. Wenn Sie das obige Beispiel print(80/5) mit Python 2 anstelle von Python 3 ausführen, erhalten Sie 16 als Ausgabe ohne Dezimalstelle.

In Python 3 können Sie // verwenden, um Ganzzahldivision durchzuführen. Der Ausdruck 100/40 gibt den Wert von 2 zurück. Ganzzahldivision ist nützlich, wenn Sie möchten, dass der Quotient in ganzen Zahlen vorliegt.

Modulo

Der %-Operator ist der Modulo, der den Rest anstelle des Quotienten nach der Division zurückgibt. Dies ist nützlich, um Zahlen zu finden, die Vielfache derselben Zahl sind, zum Beispiel.

Lass uns den Modulo in Aktion sehen:

o = 85
p = 15

print(o % p)
10

Um das zu erklären, ergibt 85 geteilt durch 15 den Quotienten 5 mit einem Rest von 10. Der Wert 10 wird hier zurückgegeben, da der Modulo-Operator den Rest eines Divisionsausdrucks zurückgibt.

Wenn wir zwei Fließkommazahlen mit dem Modulo verwenden, wird ein Fließkommawert für den Rest zurückgegeben:

q = 36.0
r = 6.0

print(o % p)
0.0

Im Fall von 36,0 geteilt durch 6,0 gibt es keinen Rest, daher wird der Wert 0,0 zurückgegeben.

Macht

Der ** Operator in Python wird verwendet, um die Zahl links zur Potenz des Exponenten rechts zu erheben. Das heißt, im Ausdruck 5 ** 3 wird 5 zur 3. Potenz erhoben. In der Mathematik sehen wir diesen Ausdruck oft als 5³ geschrieben, und was tatsächlich passiert ist, dass 5 sich selbst 3-mal multipliziert. In Python würden wir dasselbe Ergebnis von 125 erhalten, indem wir entweder 5 ** 3 oder 5 * 5 * 5 ausführen.

Lass uns ein Beispiel mit Variablen ansehen:

s = 52.25
t = 7

print(s ** t)
1063173305051.292

Das Erhöhen der Gleitkommazahl 52.25 zur Potenz von 7 durch den ** Operator ergibt einen großen Gleitkommawert.

Operatorprecedenz

In Python, wie in der Mathematik, müssen wir beachten, dass Operatoren in der Reihenfolge ihrer Priorität ausgewertet werden, nicht von links nach rechts oder von rechts nach links.

Wenn wir uns den folgenden Ausdruck ansehen:

u = 10 + 10 * 5

Wir können es von links nach rechts lesen, aber denken Sie daran, dass die Multiplikation zuerst durchgeführt wird. Wenn wir also print(u) aufrufen, erhalten wir den folgenden Wert:

60

Dies liegt daran, dass 10 * 5 zu 50 ausgewertet wird und wir dann 10 hinzufügen, um 60 als das endgültige Ergebnis zurückzugeben.

Wenn wir stattdessen den Wert 10 zu 10 hinzufügen und dann die Summe mit 5 multiplizieren möchten, können wir Klammern verwenden, wie wir es in der Mathematik tun würden:

u = (10 + 10) * 5
print(u)
100

Eine Methode, sich die Reihenfolge der Operationen zu merken, ist das Akronym PEMDAS:

BefehlBriefSteht für
1PKlammern
2EExponent
3MVielfältigung
4DDivision
5AHinzugefügt
6SReduktion

Vielleicht sind Sie mit einem anderen Akronym für die Reihenfolge der Operationen vertraut, wie BEDMAS oder BODMAS. Welches Akronym auch immer für Sie am besten funktioniert, versuchen Sie, es im Hinterkopf zu behalten, wenn Sie mathematische Operationen in Python durchführen, damit die Ergebnisse, die Sie erwarten, zurückgegeben werden.

Zuweisungsoperatoren

Der gebräuchlichste Zuweisungsoperator ist der, den Sie bereits verwendet haben: das Gleichheitszeichen =. Der = Zuweisungsoperator weist den Wert auf der rechten Seite einer Variablen auf der linken Seite zu. Zum Beispiel weist v=23 den Wert der Ganzzahl 23 der Variablen v zu.

Beim Programmieren ist es üblich, zusammengesetzte Zuweisungsoperatoren zu verwenden, die eine Operation auf dem Wert einer Variablen ausführen und dann den resultierenden neuen Wert dieser Variablen zuweisen. Diese zusammengesetzten Operatoren kombinieren einen arithmetischen Operator mit dem = Operator, daher werden wir für die Addition + mit = kombinieren, um den zusammengesetzten Operator += zu erhalten. Lassen Sie uns überprüfen, wie das aussieht:

w = 5
w += 1
print(w)
6

Zuerst setzen wir die Variable w gleich dem Wert 5. Dann haben wir den zusammengesetzten Zuweisungsoperator += verwendet, um die rechte Zahl zum Wert der linken Variable zu addieren und dann das Ergebnis der Variable w zuzuweisen.

Kombinierte Zuweisungsoperatoren werden häufig im Fall von for-Schleifen verwendet, die Sie anwenden, wenn Sie einen Prozess mehrmals wiederholen möchten:

for x in range (0, 7):
    x *= 2
    print(x)
0
2
4
6
8
10
12

Mit der For-Schleife konnten wir den Prozess des *=-Operators automatisieren, der die Variable w mit der Zahl 2 multiplizierte und das Ergebnis dann in der Variablen w für die nächste Iteration der For-Schleife ablegte.

Python hat einen zusammengesetzten Zuweisungsoperator für jeden der in diesem Tutorial behandelten arithmetischen Operatoren:

y += 1			# add then assign value

y -= 1			# subtract then assign value

y *= 2			# multiply then assign value

y /= 3			# divide then assign value

y // = 5		# floor divide then assign value

y **= 2			# increase to the power of then assign value

y %= 3			# return remainder then assign value

Zusammengesetzte Zuweisungsoperatoren können nützlich sein, wenn Dinge schrittweise erhöht oder verringert werden müssen oder wenn Sie bestimmte Prozesse in Ihrem Programm automatisieren müssen.

Schlussfolgerung

Dieses Tutorial behandelte viele der Operatoren, die Sie mit den Ganzzahl- und Fließkomma-Datentypen verwenden werden. Wenn Sie weiterhin über Zahlen in Python lesen möchten, können Sie mit den integrierten Python 3-Funktionen zum Arbeiten mit Zahlen fortfahren.

Um mehr über andere Datentypen zu erfahren, werfen Sie einen Blick auf das Verständnis von Datentypen in Python 3 und lernen Sie, wie man Datentypen konvertiert, indem Sie lesen, wie man Datentypen in Python 3 konvertiert.