Programmierkurs
für Naturwissenschaftler/innen

Variablen und Werte

In diesem Abschnitt werden Sie etwas über Variablen und grundlegende Operatoren erfahren.

Was sind Variablen?

Eine Variable ist etwas, das sich an etwas erinnert (speichert).

Sagen wir, es ist ein Whiteboard.

/images/whiteboard-empty.png
Whiteboard (Metapher einer Variable)

Um dieses Whiteboard zu verwenden, müssen Sie es benennen. Nennen wir es zum Beispiel a .

/images/whiteboard-a-empty.png
Whiteboard mit einem Namen

Jetzt können Sie eine Information auf dieses Whiteboard schreiben. Schreiben wir zum Beispiel eine Zahl von 120 auf dieses Whiteboard.

/images/whiteboard-a-120.png
Speichert eine Information von 120

Sie können diese Informationen ändern, aber dafür gehen die vorherigen Informationen verloren. Mit anderen Worten, sie kann nur überschrieben werden.

Wenn Sie z. B. die neuen Informationen 226 behalten möchten, werden die alten Informationen (automatisch) verschwinden (ähnlich dem Überschreiben einer Datei).

/images/whiteboard-a-120-erased.png
Löscht die alte Information, um eine neue Information zu speichern (erfolgt automatisch)
/images/whiteboard-a-226.png
Speichert eine (neue) Information von 226

Sie können dies als Programm wie folgt schreiben:

a = 120    # setzt die Zahl 120 in 'a' ein
a = 226    # setzt die Zahl 226 in 'a' ein (überschreiben)

In Python wird eine Variable automatisch erstellt, wenn Sie zum ersten Mal einen Wert eingeben. Das obige Programm würde also lauten:

1. Zeile

eine Variable namens a zu erstellen und den Wert 120 hineinzuschreiben.

2. Zeile

die in der ersten Zeile erstellte Variable a mit dem Wert 226 zu überschreiben.

Aus # bis Ende der Zeile ist ein Kommentar. Sie müssen es nicht eintippen.

Um dieser Variablen a einen Wert zuzuweisen, verwenden Sie das Gleichheitszeichen =, wie in a = 120. Die Position der Variablen und der Wert stehen jeweils vor und nach =. Diese Reihenfolge kann nicht rückgängig gemacht werden. In Pseudoprogrammen (eine programmähnliche Notation zur Darstellung des Verarbeitungsablaufs) wird dies manchmal als a ← 120 geschrieben.

a ← 120    # Pseudocode

Wenn das obige Programm ausgeführt wird, geschieht nichts. Um genau zu sein, wird sie im Computer korrekt verarbeitet, aber es scheint nichts zu passieren, weil das Ergebnis nicht angezeigt wird.

Es ist daher schwer zu erkennen, was hier vor sich geht, also zeigen Sie die Werte an. Dazu verwendet man wie bisher print().

  1. Geben Sie das obigen Programm in das Textfeld ein und drücken Sie Run , um es auszuführen. (Es ist richtig, dass nichts passiert).

  2. Geben Sie das folgende Programm in das Textfeld ein und drücken Sie Run , um es auszuführen.

Sie brauchen keine Kommentare einzugeben (# und bis zum Ende der Zeile).

a = 120        # erstellt ein Whiteboard mit dem Namen 'a'
               # und setzt die Zahl 120 in 'a' ein
print(a)       # zeigt den Inhalt von (dem aktuellen) 'a' an

a = 226        # setzt die Zahl 226 in 'a' ein (überschreiben)
print(a)       # zeigt den Inhalt von (dem aktuellen) 'a' an

Ergebnis

Es ist auch möglich, den Wert einer Variablen einer anderen zuzuweisen. Wenn Sie zum Beispiel den Wert von a zu b zuordnen möchten, können Sie wie folgt schreiben.

b = a        # setzt den Wert von a in b ein

Wiederum in dem Pseudo-Programm wird es beispielsweise wie folgt geschrieben.

b ← a    # Pseudocode

Beachten Sie, dass Sie die Reihenfolge von b und a nicht ändern können (dies würde die Bedeutung verändern).

Geben Sie das folgende Programm in das Textfeld ein und drücken Sie Run , um es auszuführen. Erklären Sie, was passiert ist.

Was passiert außerdem, wenn Sie b = a in a = b ändern? Warum ist das so?

a = 120
b = 10
print("before: a =", a, "b =", b)

b = a        # Was passiert, wenn es a = b statt b = a ist?
print("after:  a =", a, "b =", b)

Ergebnis

Ändern des Inhalts einer Variablen

Wie bereits erwähnt, kann der Wert einer Variablen geändert werden. Wenn Sie ein echtes Programm schreiben, möchten Sie vielleicht oft den Wert von a um 1 erhöhen. In diesem Fall können Sie Folgendes schreiben:

a = a + 1

Wenn man dies als mathematische Formel betrachtet, wäre es falsch , aber was es bedeutet, ist berechne das aktuelle a plus 1 (die rechte Seite) und speichere das Ergebnis in a . In Pseudoprogrammen wird dies manchmal als a ← a + 1 geschrieben.

a ← a + 1    # Pseudocode

Überlegen Sie, was passiert, wenn Sie das folgende Programm ausführen. Danach geben Sie dieses Programm in das Textfeld ein und drücken Run , um es auszuführen. Prüfen Sie, ob die Ergebnisse und Erwartungen übereinstimmen.

a = 100
print(a)

a = a + 10
print(a)

a = a + 20
print(a)

Ergebnis

Zeichenketten

Bisher haben wir uns mit Zahlen beschäftigt, aber Sie können auch Zeichenketten verwenden.

str = "Hello, world"

print(str)

In Python können Sie auch + für Zeichenketten verwenden, was eine Verknüpfung bedeutet.

Geben Sie das folgende Programm ein und führen Sie es aus.

str1 = "First string"
str2 = "Second string"

# verknüpft drei Zeichenketten (str1, Leerzeichen und str2)
str3 = str1 + " " + str2

print(str3)
print(str1 + " is first string.")

Ergebnis

Berechnungen zwischen Variablen

Die Berechnungsmethode ist ausführlich beschrieben in Arithmetische Operatoren und dort finden Sie weitere Informationen über die Durchführung von Berechnungen, aber probieren Sie zunächst, einige einfache Berechnungen durchzuführen.

a = 100
b = 50
c = a + b

print(c)

Das sollte eigentlich selbsterklärend sein, aber probieren Sie es doch einfach mal aus.

Geben Sie das obigen Programm in das folgende Feld ein und führen Sie es aus.

Ergebnis

Regeln der Variablennamen (1)

Die genauen Regeln werden hier nicht erläutert. Die folgenden Zeichen können in Variablennamen verwendet werden.

  • lateinische Buchstaben

    • Bei den Buchstaben wird zwischen Groß- und Kleinschreibung unterschieden. Dies bedeutet, dass a und A unterschiedliche Variablen sind.

  • Zahlen können nach dem zweiten Buchstaben verwendet werden.

    • Sie dürfen aber nicht mit einer Zahl beginnen. Zum Beispiel kann 1a nicht als Variablenname verwendet werden.

  • Der Unterstrich _ ist ebenfalls erlaubt.

    • Es sollte jedoch vermieden werden, einen Variablennamen mit _ zu beginnen. (Normalerweise beginnt man mit _ nur, wenn es eine besondere Bedeutung hat.)

  • Einige Namen sind nicht erlaubt: for, usw. (weil sie bereits in Python verwendet werden)

Obwohl auch andere Zeichen verwendet werden können, ist es am sichersten, Variablen nur mit alphanumerischen Zeichen zu benennen.

Regeln der Variablennamen (2)—Schreib's besser!

Variablennamen können jeden Namen haben, solange sie den Regeln entsprechen, aber es gibt gute und schlechte Variablennamen.

Es gibt keine absolute Regel und dies abhängt von der jeweiligen Situation. Jedoch ist die Folgende sind die Faustregeln:

  • Für Schleifenvariablen (s. Iteration) ist es üblich, i, j, k usw. zu verwenden.

  • Ganzzahlen sind oft n, m usw.

  • Die oben genannten Fälle sind Ausnahmen, ansonsten ist ein langer, aber klarer Name besser.

  • Namen sollten beschreibend sein.

  • Verwenden Sie eine Variable nicht für mehr als einen Zweck.

Zum Beispiel sollte bei einer Iteration (Schleifen, darüber wir später mehr erfahren werden)

for loop1 in range(10):
    ...

vermieden werden, und i, j, k usw. (statt loop1 usw.) sollten konventionell verwendet werden, es sei denn, es gibt einen besonderen Grund, dies nicht zu tun.

string = 0        # Was? Keine Zeichenkette?

number = "Hello"  # Wie bitte?

funktioniert gut als Programm, aber es ist nicht gut, weil die Namen nicht zu den Inhalten passen.

In Python ist

a = 0
print(a)

a = "Hello, world"
print(a)

auch möglich, aber es ist eine schlechte Art, eine Variable zu verwenden, da sie für zwei völlig unverbundene Rollen verwendet wurde. Eine Variable sollte nur für einen Zweck verwendet werden.

Darstellungen der Zahlen

Wie wir gesehen haben, können Zahlen als 0, 100, -10 und so weiter geschrieben werden. Dezimalzahlen können auch als 1.3, -0.15 usw. (aber nicht 1,3 oder -0,15) geschrieben werden. Eine besondere Art, Zahlen zu schreiben, ist die e-Notation. Zum Beispiel werden $3.0\cdot10^8$ und $1.38\cdot10^{-23}$ geschrieben als jeweils:

3.0e8
1.38e-23

Dies gilt nur für Programme, die nicht als $3.0\cdot10^8$ geschrieben werden können, so dass die e-Notation in Protokollen oder anderen Dokumenten bzw. Diagrammen usw. nicht verwendet werden sollte.

Mathematische Konstanten

Einige mathematische Konstanten können durch eine spezielle Vorbereitung verwendet werden. Konkret sollte die Anweisung import math an den Anfang des Programms1 geschrieben werden.

Nach dem Schreiben dieser Zeile können die folgenden Konstanten verwendet werden.

$\pi$ math.pi $3.14159\cdots$
$\mathrm{e}$ math.e $2.71828\cdots$
$\tau$ $(= 2\pi)$ math.tau $6.28318\cdots$

Sie können diese zum Beispiel wie folgt verwenden.

import math

# Suche die Fläche eines Kreises mit dem Radius r
r = 10
area = r * r * math.pi
print(area)

Bereich der Werte

Ohne auf Einzelheiten und genaue Werte einzugehen, können wir Zahlen zwischen ca. $\pm10^{-308}$ und ca. $\pm10^{+308}$ verwenden.

Umgekehrt können die Folgende nicht dargestellt werden:

  • Werte größer als $10^{308}$, z. B. $10^{+1000}$.

  • Werte kleiner als $-10^{308}$, z. B. $-10^{+1000}$.

  • Werte zwischen $-10^{-308}$ und $10^{-308}$ (außer 0).

Sie brauchen sich diese Werte nicht zu merken, aber bedenken Sie, dass der Bereich der Werte, der ausgedrückt werden können, begrenzt ist.

Anmerkung
Um genau zu sein, ist dies die Einschränkung von Python für Fließkommazahlen (die man sich als Zahlen mit einem Dezimalpunkt vorstellen kann). Es gibt keine Beschränkung auf ganze Zahlen. Beachten Sie jedoch, dass 3.0 und 3e10 als Fließkommazahlen behandelt werden.

Zusammenfassung

Auf dieser Seite haben Sie über Variablen gelernt.

  • Eine Variable ist ein Ort, an dem Zahlen und Zeichenketten gespeichert werden können. (Auf dieser Seite haben wir ein Whiteboard als Metapher verwendet.)

  • In Python erzeugt die erste Zuweisung eine Variable.

  • Variablen können mit neuen Informationen überschrieben werden.

  • Sie sollten die Variablen entsprechend benennen.


1

Streng genommen muss er nicht unbedingt am Anfang stehen, aber in den meisten Fällen ist es so.