Definition und Datentypen

Variablen können als Container angesehen werden. Eine Variable hat einen Namen und einen Wert. Mit dem Namen kann die Variable ausgewählt werden und ihr Wert gelesen oder verändert werden:

In Scratch haben wir bereits mit Variablen gearbeitet: x ist unsere selbst benannte Variable, deren Wert wir setzen und ändern können

set [x v] to [5]

change [x v] by [1]

set [y v] to ((x) * [2])

show variable [y v]

Wollen wir das selbe mit Python erreichen, so können wir das wie folgt machen:

x = 5         # die Variable `x` wird definiert und ihr wird der Wert `5` zugewiesen
x = x + 1     # der Variable `x` wird der Wert `x+1`, also 6, zugewiesen
y = x * 2     # die Variablen y wird definiert und ihr wird der Wert `x*2`, also 12, zugewiesen
print(y)      # der aktuelle Wert der Variable y, also 12,wird in der Shell ausgeben

Zuweisung

Ein einzelnes = steht in Python immer für eine Zuweisung:

  • Der Ausdruck rechts neben dem Gleich wird ausgewertet
  • Diese Auswertung ergibt einen Wert
  • Dieser Wert wird der Variable links vom Gleich zugewiesen

Links vom Gleich kann also immer nur eine Variable stehen. Dort ist kein Ausdruck möglich!

Somit sind Zuweisungen möglich wie x=x+1. (In der Mathematik würde diese Gleichung wenig Sinn machen!)

Datentypen

Variablen speichern Werte. Nun gibt es unterschiedliche Dinge, die wir als Werte speichern möchten. Je nachdem was wir speichern möchten, verwendet Python einen entsprechenden Datentyp (Python wählt den Datentyp selbst. Bei anderen Programmiersprachen muss dieser beim Definieren der Variablen festgelegt werden.)

Python kommt mit den folgenden «einfachen» Datentypen.

Zahlen

Zum Speichern von Zahlen bietet Python vier Datentypen an:

  • Integer – Mittels der Python-Klasse int können Ganze Zahlen gespeichert werden.
  • Float – Die Klasse float steht für Dezimalzahlen zur Verfügung.

Zu jeder dieser Klasse existiert auch eine Funktion mit demselben Namen. Damit lässt sich explizit ein Wert des entsprechenden Typs erzeugen:

x = 2            # x ist ein int
y = 2.0          # y ist ein float
z = float(2)     # z ist ein float

Der Datentyp eines Wertes kann in Python immer mittels type() abgefragt werden:

type(2.5)        # Ausgabe auf der Shell: <class 'float'>
type(7)          # Ausgabe auf der Shell: <class 'int'>

Text

Text wird in Python mit der Klasse str gespeichert. Strings sind unveränderbare Zeichenketten, d.h. geordnete Sammlungen von Zeichen. Auf ihre einzelnen Elemente kann mit dem Index-Operator [] lesend zugreifen werden. (Die Nummerierung beginnt bei 0.) Strings werden mit einfachen oder doppelten Anführungszeichen umgeben. Mit der Funktion len() kann die Anzahl Zeichen eines Strings ermittelt werden.

s = "Hallo Welt"
t = "Carla's Song"
print(s[0])             # Ausgabe: H
print(len(s))           # Ausgabe: 10
print(s[len(s)-1])      # Ausgabe: t
r = s + t
print(r)                # Ausgabe: Hallo WeltCarla's Song
r = s + ". " + t  
print(r)                # Ausgabe: Hallo Welt. Carla's Song

Wie bei den Zahlen-Klassen, existiert auch bei der Klasse str eine gleichnamige Funktion. Mit ihr lassen sich z.B. Zahlen in Text umwandeln. Dies braucht man wenn man Zahlen in Text ausgeben möchte:

kosten = 120
quittung = "Es kostet " + str(kosten) + " Franken"
print(quittung)        # Ausgabe: Es kostet 120 Franken

Und natürlich lässt sich auch die type-Funktion auf einen String anwenden:

type('hallo')    # Ausgabe auf der Shell: <class 'str'>

Wahrheitswerte

Eine Variable vom Typ bool hat in Python zwei mögliche Werte: True oder False. Die Funktion bool() gibt es natürlich auch und type lässt sich auch auf bool anwenden:

python_rules = True
print(type(python_rules))       # Ausgabe: True
print(bool(12))                 # Ausgabe: True
print(bool(0))                  # Ausgabe: False
print(bool("test"))             # Ausgabe: True
print(bool(""))                 # Ausgabe: False