Zeichenketten statt Zahlen
Computer sind in erster Linie Rechenmaschinen, aber natürlich können sie nicht nur mit Zahlen und mathematischen Ausdrücken umgehen. Neben dem Typ Zahl ist auch noch der Typ Zeichenkette ganz wichtig für Ein- und Ausgaben.
Zeichenketten, auf Englisch Strings, sind in der Regel Wörter oder Texte – aber ganz genau genommen sind es, wie der Name schon sagt, einfach nur »aneinandergehängte Zeichen« beliebiger Art. Mit diesen kann Python genauso souverän umgehen wie mit Zahlen. Wenn du statt einer Zahl eine Zeichenkette verwendest, dann musst du diese Zeichen immer in Anführungszeichen setzen. Alles zwischen den beiden Anführungszeichen gehört dann zu dieser Zeichenkette.
Schreibst du zum Beispiel
dann gibt Python zurück:
Hallo
Python hat also statt einer Zahl hier ein Wort ausgegeben, genau genommen eine Kette von Zeichen, die in diesem Fall das Wort »Hallo« ergibt.
Auch Zahlen sind dann Zeichenketten, wenn sie in Anführungszeichen stehen.
print "5 + 3"
ergibt
5 + 3
Python berechnet diesen Ausdruck nicht als Zahl, denn er steht in Anführungszeichen und ist also ein String, eine Zeichenkette. Daher gibt Python genau diese Zeichenkette wieder aus.
Mit Zeichenketten kann man natürlich nicht rechnen, so wie man es mit Zahlen macht, aber man kann mit ihnen doch einiges anstellen, wie wir später auch noch sehen werden. Hier erst mal ein einfaches Beispiel:
Jetzt antwortet Python mit:
Hallo Python!
[ ! ] Achtung: Plus ist nicht gleich Plus
Das Pluszeichen (+) hat bei Zeichenketten eine andere Bedeutung als bei Zahlen. Es bedeutet »Hänge aneinander«. Mit dem Pluszeichen kann man zwei oder mehr Zeichenketten zu einer neuen Zeichenkette zusammenfügen.
Auch das *-Zeichen kann man übrigens mit Zeichenketten verwenden. Teste mal das hier:
print 5 * "Hallo "
Ergebnis:
Hallo Hallo Hallo Hallo Hallo
Beim *-Zeichen mit Zeichenketten (Multiplizieren von Strings) wird die Zeichenkette so oft aneinandergehängt, wie man sie multipliziert.
Was passiert aber, wenn man Folgendes eingibt:
print "5 * 3 =" + 5*3
Geht nicht – das gibt einen Fehler!
Warum? Weil der erste Ausdruck vom Typ String ist (eine Zeichenkette), der zweite vom Typ Zahl, ein mathematischer Ausdruck. Zwei unterschiedliche Typen kann Python nicht durch ein Pluszeichen miteinander verknüpfen. Es wüsste auch nicht, wie das geschehen soll. Entweder müssen es zwei Zahlen sein, dann werden sie addiert, oder es müssen zwei Zeichenketten sein, dann werden sie aneinandergehängt. Beides gleichzeitig geht nicht.
Um dieses Problem zu lösen, könnte man die Zahl in eine Zeichenkette umwandeln – wie das geht, lernen wir später noch. Oder, das ist erst einmal am einfachsten, man gibt die beiden Ausdrücke in einem print-Befehl einfach unabhängig nacheinander aus, mit Komma getrennt. Das geht mit unterschiedlichen Arten von Werten so:
Das klappt:
5 * 3 = 15
Hier gibt es keine Probleme, weil Python jetzt einfach zwei unterschiedliche Ausdrücke nacheinander ausgibt, ohne sie miteinander zu verknüpfen. Es lassen sich in einem print-Befehl beliebig viele Ausdrücke, Strings, Werte und Variablen mit Komma getrennt in einer Zeile ausgeben.
[ ! ] Automatische Leerzeichen
Beachte, dass Python immer automatisch ein Leerzeichen dazwischenschreibt, wenn du mehrere Werte nacheinander durch Komma getrennt ausgibst.
Jetzt hast du ein paar ganz wichtige Grundlagen erworben, wie man mit Python mathematische Ausdrücke berechnen kann und ihm Zeichenketten zur Verarbeitung geben kann. Damit werden wir im nächsten Kapitel noch wesentlich mehr machen. Aber es wird dabei wesentlich interessanter, denn jetzt kommen Variablen hinzu.