Python Tutorial für Programmierer – Teil 2
Kommentare und Einrückungen
Klammern werden in Python nur durch Einrückungen erreicht, dabei kann man bei den meisten Entwicklungswerkzeugen einfach auf die Tab-Taste zurückgreifen. Python nimmt eine Einrückung als acht Leerzeichen an. Dies muss gegebenfalls entsprechend eingestellt werden. Insbesondere ist darauf zu achten, dass Einrückungen über den gesamten Programmcode gleich sind um Fehler zu vermeiden. Namensräume und Gültigkeitsbereiche gelten natürlich analog, auch wenn es den meisten Programmierern etwas komisch vorkommen mag keine Klammern zu verwenden.
user = ["Nutzer1", "Nutzer2"] for u in user: #don't forget the colon print u
Der Doppelpunkt markiert den Beginn einer neuen Struktur, und ist für Kontrollsequenzen bindend. Kommentare können mit # erzeugt werden, ihre Einrückung ist egal. Leider ist kein Kommentar über mehrer Zeilen möglich, jede Zeile muss einzeln auskommentiert werden. Die Ausnahme bietet der “docstring”.
def methode(): ''' description of method ''' return #call docstring methode.__doc__
Der Rest von Teil 2 wird sich mit Datentypen in python beschäftigen. Obwohl python nur eine implizite Zuweisung des Datentyps hat, wird es manchmal notwendig sein den Datentyp zu überprüfen, exakt festzulegen oder zu casten. Um den Typ zu bestimmen verwenden wir:
print type(value).__name__
Diesen Wert können wir mit hardcoded Strings vergleichen, z.B. “str” für String. Der Typcast ist änhlich simpel: zieltyp(value), z.B: int(“22″)
Int, long und float
Diese Datentypen sind wie gewohnt zu verwenden.
Bool
Anders als in vielen anderen Sprachen werden True und False in python groß geschrieben, jedoch ebenfalls mit 0 und 1 repräsentiert.
Bytes
Erlauben boolsche Ausdrücke:
and or not <, <= >, >= ==, != is, is not (object identity) x | y (or) x ^ y (xor) x & y (and) x << y, x >> y (bitshift) ~x (inversion)
Complex
typedef struct { double real; double imag; } Py_complex
Strings
String Literale werden durch einfache, bzw. doppelte Anführungszeichen gekennzeichnet. Ein String Literal über mehrere Zeilen kann mit drei doppelten Anführungszeichen realisiert werden. Dadurch wird die interne Formatierung beibehalten (siehe auch docstring). Möglich mit einem String ist:
#concat >>>print 'A' + 'B' 'AB' >>>s = 'A' >>>print s 'A' >>>s += 'B' >>>print s 'AB' #multiplication >>>print 'A' * 5 'AAAAA' #string as tupel >>>s = 'Hello World' >>>print s[:1] 'H' >>>print s[0:len(s)] 'Hello World'
Listen
Natürlich gibt es auch “normale” Arrays in python, Listen wird man jedoch häufiger brauchen. Auf Listen wird immer nur über Ihren Zeiger zugeriffen. Listen können verschiedene Datentypen mischen. Auf Listen hat man wahlfreien Zugriff (ich weiß jedoch nicht, inwieweit dieser auch tatsächlich bzgl. der Laufzeit implementiert ist).
#empty list ls = [] #non empty list ls = ["string", 2, ["another", "list"]] #replace entry ls[0:2] = [1,12] #remove entry ls[0:2] = [] #insert entry ls[1:1] = ["new", "entry"]
Die Länge einer Liste finden wir wie bei einem String über len(list). Die Liste bietet neben vielen anderen Operationen auch die Möglichkeit eines Stacks über die Methoden list.append(object) und list.pop(). Außerdem bietet die Liste noch die Möglichkeiten zum: sorting, extending, counting, reversing. Über ein Set kann man in einer Liste Duplikate elemenieren, im Module collection befindet sich die deque um eine Queue zu implementieren.
Das Iterieren über Listen folgt im nächsten Teil des Tutorials: Kontrollstrukturen.
About the Author
Computer sollen uns in Beruf und Alltag unterstützen. Damit das funktioniert müssen wir einen einfachen und intuitiven Zugang zu unseren Programmen, Daten und Systemen haben.