In diesem Abschnitt lernen Sie die arithmetischen Operatoren kennen.
Grundlegende arithmetische Operationen
Wir haben bereits eine Addition in Variablen verwendet.
Die vier arithmetischen Operationen sind jeweils:
-
+
-
-
-
*
(Multiplikation) -
/
(Division)
Es gibt auch die folgenden Operatoren:
-
//
(Bodenteilung) -
%
(Rest)
Zum Beispiel gibt
print(5 // 3)
den abgerundeten Quotient aus 5 geteilt durch 3 als 1 aus, und
print(5 % 3)
gibt den Rest von 5 geteilt durch 3 als 2 aus.
Die Potenzierung kann berechnet werden mit:
-
**
(Beachten Sie, dass einige Programmiersprachen kein **
haben oder
ein anderes Symbol verwenden).
Zum Beispiel gibt
print(2 ** 3)
8, die dritte Potenz von 2 (nämlich $2^3$), aus.
Man muss beachten, dass -2 ** 4
mehrdeutig ist, ob es sich um $-2$
hoch $4$ oder $2$ hoch $4$ multipliziert mit $-1$ handelt.
Deshalb ist diese Schreibweise sollte vermieden werden.
In diesem Fall sollten Sie (-2) ** 4
($= 16$) oder -(2 ** 4)
($=-16$) schreiben.
*
und **
sind programmspezifische Schreibweisen und sollten
in Protokollen oder anderen Dokumenten bzw. Diagrammen usw. nicht
verwendet werden.
Versuchen Sie, eine Berechnung mit den sieben oben eingeführten
Operatoren +
, -
, *
, /
, //
, %
und **
durchzuführen.
Zum Beispiel:
print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3)
print(10 // 3)
print(10 % 3)
print(10 ** 3)
(
… )
kann verwendet werden, um Prioritäten zu ändern oder zu
klären oder um Mehrdeutigkeiten zu vermeiden.
Für diese Zwecke können jedoch weder [
… ]
noch {
… }
verwendet werden.
print(2 * (3 + 4))
print((2 * 3) + 4)
print((-2) ** 3)
Das erste ist ein Beispiel, dass $2 \times (3 + 4)$ statt $2 \times 3 + 4$ berechnen wird, d. h. wird die Addition zuerst berechnet werden.
Die zweite ist gleichbedeutend mit print(2 * 3 + 4)
, also ohne Klammern.
Mit anderen Worten: Die Klammern sind in diesem Fall nicht notwendig, aber in Ordnung.
Dies ist ein Beispiel dafür, dass es in Ordnung ist, zusätzliche
Klammern zu setzen, solange sich die öffnenden und schließenden
Klammern ohne Über- oder Unterschreitung entsprechen.
Dieses Beispiel ist selbsterklärend und macht nicht viel Sinn, aber in Praxis
könnten Sie beim Schreiben komplexerer
Bedingungen
solche Klammern (die nicht wirklich notwendig sind) verwenden, um die
Priorität eindeutig anzuzeigen.
Das dritte Beispiel ist das, das wir bereits gesehen haben.
Schreiben Sie ein Programm, das die folgenden Berechnungen ausgibt.
$$ \begin{align} & 5 + 3 \\ & 3 - 10 \\ & 20 - ( 3 \times 4 ) \\ & 5 \times (-3) \\ & 5 + \left\{ \frac{3}{4} \times (4 - 2) \right\} \\ & 2^{-3} \end{align} $$
Berechnungen mit Variablen
Bei der Zuweisung an eine Variable können Sie statt einer Zahl auch einen Ausdruck schreiben.
a = 10 + 20
b = 50 / 3
Sie können auch Berechnungen mit Variablen durchführen.
a = 5
b = 3
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)
Natürlich sind auch Berechnungen zwischen Variablen und Zahlen möglich.
a = 5
print(a + 3)
print(a - 3)
print(a * 3)
print(a / 3)
print(a // 3)
print(a % 3)
print(a ** 3)
Sie können auch neue Variablen erstellen und die Ergebnisse in die Variablen einfügen.
a = 5
b = 3
calc1 = a + b
calc2 = a - b
calc3 = a * b
calc4 = a / b
calc5 = a // b
calc6 = a % b
calc7 = a ** b
print(calc1)
print(calc2)
print(calc3)
print(calc4)
print(calc5)
print(calc6)
print(calc7)
Diese sind der normalen Mathematik sehr ähnlich.
Führen Sie einige Berechnungen mit Variablen durch.
Zuweisungsoperatoren
=
wird als Zuweisungsoperator bezeichnet (Sie brauchen sich den
Namen nicht zu merken) und wird auch als Operator behandelt.
Die Bedeutung ist bereits erlernt worden.
Es gibt weitere speziellen Operatoren, die zusammengesetzte
Zuweisungsoperatoren heißen (Sie brauchen sich den Namen nicht zu merken).
Wenn Sie a += 10
schreiben, bedeutet das a = a + 10
.
Als die zusammengesetzte Zuweisungsoperatoren sind
-
+=
-
-=
-
*=
-
/=
-
//=
-
%=
-
**=
verfügbar. Die Bedeutungen dieser Operatoren sollten offensichtlich sein.
Überlegen Sie, was passieren würde, wenn Sie das folgende Programm ausführen würden. Führen Sie es dann aus und prüfen Sie, ob es wie erwartet funktioniert.
a = 12
b = 10
a += 2
print(a)
a -= 3
print(a)
a *= 2
print(a)
a /= 10
print(a)
a += b
print(a, b)
Zeichenketten
Wie bereits in Variablen erwähnt, können Sie +
auch für Zeichenketten verwenden, was Zeichenkettenzusammensetzung bedeutet.
Es kann auch +=
verwendet werden.
Sie können -
nicht für Zeichenketten verwenden.
Es ist nicht möglich, +
für Zeichenketten und Zahlen (z. B. "abc" + 1
)
zu verwenden.
Operatorenpriorität
Ich werde nicht ins Detail gehen, aber das Folgende sollte für den Moment genügen. Kurz gesagt, es ist ungefähr dasselbe wie in der Mathematik.
In der Reihenfolge ihrer Priorität sind:
-
(
…)
-
**
-
*
,/
,//
,%
(//
und%
können als eine Art Division betrachtet werden) -
+
,-
-
=
,+=
,-=
,*=
,/=
,//=
,%=
,**=
-
Mit Ausnahme
**
hat diejenige links eine höhere Priorität, wenn mehrere Operatoren der gleichen Priorität nebeneinander liegen.Zum Beispiel:
10 / 2 * 3
Da das
/
auf der linken Seite eine höhere Priorität hat, ist dies dasselbe wie(10 / 2) * 3
, aber nicht10 / (2 * 3)
. -
Wenn mehrere
**
nebeneinander liegen, hat diejenige rechts eine höhere Priorität.Zum Beispiel:
a ** b ** c
ist dasselbe wie
a ** (b ** c)
, aber nicht(a ** b) ** c
. Um Unklarheiten bzw. Fehler zu vermeiden, ist es in diesem Fall jedoch immer(...)
verwendet werden sollte.
Es gibt (leider) noch viele weitere Regeln, aber die oben genannten Regeln sind oft ausreichend.
Zusammenfassung
Auf dieser Seite haben Sie die wichtigsten arithmetischen Operatoren kennengelernt.
-
Vier arithmetische Operationen (
+
,-
,*
,/
), Bodenteilung (//
), Rest (%
), Potenz (**
) -
Zusammengesetzte Zuweisungsoperatoren (
+=
,-=
,*=
,/=
,//=
,%=
,**=
) -
Jeder Operator hat seinen eigenen Priorität. Wenn Sie die Priorität ändern möchten, können Sie
(
…)
verwenden (fast dasselbe wie in der normalen Mathematik).