Bernd Klein
Numerisches Python
Arbeiten mit NumPy, Matplotlib und Pandas
3 | Kurze Einführung in Python |
3.1 | Datenstrukturen |
3.1.1 | Zahlen und Variablen |
Wenn man die interaktive Shell von Python oder ipython startet, kann man sofort arithmetische Ausdrücke eingeben:
Möchte man Werte speichern, so kann man dies in der Shell ebenso wie in einem Programm mittels Variablenzuweisungen bewerkstelligen. Dies geschieht ebenso wie in den meisten anderen Programmiersprachen durch ein Gleichheitszeichen:
Wie wir im vorigen Beispiel gesehen haben, ist eine Typdeklaration dazu nicht nur nicht erforderlich, sondern auch nicht möglich. Python kennt keine Typdeklarationen. Python-Variablen stellen Referenzen auf beliebige Objekte dar.
Auch wenn den Variablennamen keine Typen zugeordnet sind, so entspricht jedes in Python definierte Objekt einem Typ oder genauer gesagt der Instanz einer Klasse.
Wir sehen also, dass eine Integer-Zahl „42” angelegt worden ist. Diese Integer-Zahl ist ein Objekt der Integer-Klasse. Als Integers oder ganze Zahlen bezeichnet man in der Mathematik die Zahlen
Das heißt, die Zahlen gehen von minus unendlich bis unendlich. Selbstverständlich können wir „unendlich” in „int” nicht darstellen, aber die Zahlen in Python können extrem groß bzw. extrem klein werden:
Benutzt man einen Variablennamen, der nicht definiert ist, erzeugt man eine Ausnahme:
Im folgenden Beispiel zeigen wir, dass Variablen Referenzen auf Objekte darstellen. Dazu benutzen wir die Funktion „id”, deren Rückgabewert ein Integer-Wert ist, der die Objekte eindeutig identifiziert. Wir sehen, dass das Integer-Objekt 10 nur einmal erzeugt wird und dass x und y beide dieses Objekt nach der Zuweisung „” referenzieren.
Neben kennt Python auch Float-Zahlen (), die in Ausdrücken auch mit Integer-Zahlen verknüpft werden können:
3.1.2 | Zeichenketten/Strings |
Ein weiterer wichtiger Datentyp in Python sind die Zeichenketten, die man meist auch als Strings bezeichnet. Strings können auf verschiedene Arten definiert werden: mit einfachen Anführungszeichen, mit doppelten Anführungszeichen oder mit drei einfachen bzw. drei doppelten Anführungszeichen. Wir demonstrieren diese Varianten im folgenden Beispiel. Wir verwenden auch das Nummernzeichen „#”, um Kommentare einzuleiten:
Bei den Strings in dreifachen Anführungszeichen wartet die Shell noch mit einer Besonderheit auf, wenn wir während der Definition eines solchen Strings die Return-Taste tippen. Die nächste Zeile wird dann nicht mit dem üblichen Prompt „ ” eingeleitet, sondern mit einem aus drei Punkten bestehenden Prompt „... ”. Damit signalisiert uns die Shell, dass der String noch nicht fertig ist. Der String ist erst fertig, wenn wieder entsprechend drei einfache () bzw. doppelte () Anführungszeichen eingegeben werden.
Strings können indiziert werden, dabei entspricht das erste Zeichen dem Index 0. Das letzte Zeichen eines Strings können wir mit dem Index ansprechen, d.h. mit negativen Zahlen erhält man eine Indizierung von rechts:
Während man mit dem Indizieren nur einzelne Zeichen, also Strings der Länge 1, aus einem String erhalten kann, ermöglicht der Teilbereichsoperator (Slicing) das „Herausschneiden” von beliebigen Teilstrings:
Finden von Teilstrings in Strings:
Die Methode index liefert die gleichen Ergebnisse, außer wenn der Suchstring nicht im String vorkommt:
Ein String kann mit Methode auch in eine Liste von Teilstrings aufgespaltenwerden. Ohne Parameter dient jede Folge von Leerzeichen (auch , , usw. sind Leerzeichen) als Trenner. Wird ein String als Parameter übergeben, wird dieser als Trenner verwendet. Außerdem kann man noch einen weiteren Parameter übergeben, mit dem man die Anzahl der zu spaltenden Teilstrings angeben kann:
Mit den Methoden , und ist es möglich, Leerzeichen oder auch andere Zeichen vom linken bzw. rechten Rand eines Strings oder beidseitig zu entfernen:
3.1.3 | Listen |
Listen werden mittels eckiger Klammern in Python erzeugt. Eine Liste kann beliebige Python-Objekte enthalten, die durch Komma getrennt sind:
Auf Listenelemente kann man wie bei Strings über Indices zugreifen oder man greift auf mehrere Listenelemente mit dem Teilbereichsoperator zu. Außerdem können wir mittels Indizierung der Liste auch neue Werte zuweisen:
Wir können prüfen, ob ein Element in einer Liste vorhanden ist:
Anhängen von Objekten an Listen:
Kopieren und Konkatenieren von Listen:
© 2009-2024 ciando GmbH