<

Kleiner Python-Spicker

>

1 Zeichenketten, Variablen und Module

Zeichenketten

Zeichenketten sind Texte; damit Python sie vom Programmtext unterscheiden kann, werden sie in "Gänsefüßchen" oder 'Anführungszeichen' gesetzt. 'Auch dies ist ein Text.'

Um nicht denselben Text immer wieder tippen zu müssen, kann man ihn in einer Variablen zwischenspeichern (das geht auch mit Zahlen und anderen Daten).

Zum Beispiel heute = "Donnerstag" oder x = 17 + 4 .
Dann ergibt heute + "morgen" den Text "Donnerstagmorgen".

Mit Zeichenketten (engl. "strings") kann man noch mehr machen, siehe dazu http://docs.python.org/lib/typesseq.html und http://docs.python.org/lib/string-methods.html . Beispielsweise ergibt heute.upper() den Text "DONNERSTAG".

Warum ist die Methode upper() mit einem Punkt an heute angehängt worden? Bei einer Zeichenkette handelt es sich um ein Objekt und bei upper() um eine Methode dieses Objektes. Die Methoden könne von Objekt zu Objekt verschieden sein, so können z.B. eine Auto und eine Chipstüte beide die Methode öffnen() haben, die aber logischerweise unterschiedlich programmiert sind. Python wählt für jedes Objekt die passende Methode. (Deswegen kann man + sowohl für Zeichenketten als auch für Zahlen verwenden.) Nicht alle Methoden sind bei allen Objekten vorhanden, z.B. ist Auto.essen() nicht gerade sinnvoll. :)

Module

Python ist modular aufgebaut; das heißt, es gibt einen Sprachkern, der mit Modulen (auch Biliotheken oder "libraries" genannt) erweitert wird. Das hat zwei Vorteile: zum einen kann man fehlende Funktionen leicht "nachrüsten", und zum anderen muss nicht immer der volle Sprachumfang geladen werden, wenn man nur einen kleinen Teil braucht. Der Nachteil liegt darin, dass man das Hinzuladen von Modulen ausdrücklich programmieren muss.

Wem also die String-Funktion translate() zu umständlich zu bedienen ist, kann also das Modul string hinzuladen und dann die Funktion maketrans() einsetzen (siehe http://docs.python.org/lib/node109.html ). Das geht auf zwei Arten:

import string
"bach".translate(string.maketrans("abc","xyz"))

oder

from string import *
"bach".translate(maketrans("abc","xyz"))

Im ersten Fall müssen alle Funktionen über den Namen des Moduls angesprochen werden, im zweiten Fall werden die Namen des Moduls so eingebunden, als wäre das Modul von vornherein "eingebaut" gewesen.

Siehe auch http://docs.python.org/ref/import.html .

<

Kleiner Python-Spicker

>

© 2005 Michael Mendelsohn