Impressum
< Index

Klassen und Objekte in Python verwenden

Python bringt etliche Klassen bereits mit. Die grundlegendsten sind int, float und str.
Man erzeugt Objekte von diesen Klassen, indem man den Konstruktor aufruft und dies einem Objekt zuweist.
Beispiele:
Die Methoden kann man mit Objektname.Methode() aufrufen. Zwischen die Klammern kommen ggf. die Parameterwerte.

Methoden der Klasse String (str) - eine Auswahl

Methode Beschreibung
str()Konstruktor, erzeugt ein String-Objekt für einen leeren String
str(x)Konstruktor, erzeugt ein String-Objekt, dass den Wert von x enthält
count(wert)Gibt zurück wie oft wert in dem String vorkommt
endswith(s)Gibt True zurück, wenn der String mit s endet
find(s, start, ende)Gibt die erste Position an, an der s gefunden wurde.
Falls s nicht gefunden wird wird -1 zurückgegeben.
start und ende sind optional. Sie geben an, in welchem Bereich gesucht werden soll.
index(s, start, ende)Wie find, allerdings wird ein ValueError erzeugt, wenn s nicht gefunden wurde.
islower()Gibt wahr zurück, wenn alle Buchstaben Kleinbuchstaben sind
isupper()Gibt wahr zurück, wenn alle Buchstaben GGroßbuchstaben sind
lower()Gibt den String in Kleinbuchstaben zurück
lstrip()Gibt den String ohne Leerzeichen am Anfang zurück.
rstrip()Gibt den String ohne Leerzeichen am Ende zurück.
replace(alt, neu)Gibt ein neues String-Objekt zurück, indem jedes Vorkommen von alt durch neu ersetzt wurde.
split(trenner) Gibt eine Liste von Wörtern zurück, indem es den String an jedem trenner teilt.
startswith(s)Gibt True zurück, wenn der String mit s beginnt.
strip()Gibt den String ohne Leerzeichen am Anfang und Ende zurück.
upper()Gibt den String in Großbuchstaben zurück.

Methoden um aus einer Text-Datei zu lesen

Eine Text-Datei öffnet man mit open(Dateiname) zum lesen. Diese Methode gibt ein Datei-Objekt zurück, von dem man unten stehende Methoden verwenden kann.
Methode Beschreibung
read()Liest den gesamten Datei-Inhalt aus und gibt ihn als String zurück
readLine()Liest eine Zeile aus und gibt sie als String zurück.
Ruft man Methode mehrmals hintereinander auf, so erhält man den Dateiinhalt Zeile für Zeile.
Ist die Datei zuende, so erhält man einen leeren String.
readlines()Gibt den Dateiinhalt als Liste von Zeilen zurück.
close()Schließt die Datei. Eine Datei sollte am Ende der Verarbeitung immer geschlossen werden.

Aufgaben

  1. Erzeugen Sie ein String-Objekt mit s=str(1234321)
    • geben Sie s aus
    • geben Sie aus, wie oft "3" in dem String vorkommt
    • geben Sie aus, ob s mit "22" endet
    • ersetzen Sie alle Vorkommen von "2" durch ein Leerzeichen und speichern sie dies im Objekt t
    • ersetzen Sie alle Vorkommen von "1" in t durch "ich" und speichern sie dies wieder im Objekt t
    • ersetzen Sie alle Vorkommen von "343" in t durch "bin" und speichern sie dies wieder im Objekt t
    • geben Sie t aus
  2. Finden Sie heraus wie oft "a" in "Ananas" vorkommt.
    Wie oft kommt "a" in "Ananas" vor, wenn sie zuvor lower() verwenden?
  3. Führen sie den Code
    s="1;2;Horst;Müller;3,12"
    liste = s.split(";")
    print(liste)
            
    und den Code
    s="1;2;Horst;Müller;3,12"
    liste = s.split(";")
    for x in liste:
        print(x)
            
    aus.
    Erklären Sie die Ausgabe.
  4. Warum kann man folgendes in Python schreiben:
    str("   Hallo Du  ").strip().lower().replace("du", "Ihr").startswith("hallo")
    und bekommt True zurück?
  5. Erzeugen Sie eine Python-Datei mit dem Namen test.py.
    Erzeugen Sie ein Datei-Objekt mit dem Namen datei um aus der Datei test.py lesen zu können.
    Lesen Sie den kompletten Inhalt in die Variable inhalt.
    Geben Sie die Variable inhalt mit print aus.
    Schauen Sie mit print(type(datei)) nach, von welcher Klasse das Datei-Objekt ist.
    Schauen Sie auch nach, von welcher Klasse das Inahlt-Objekt ist.
  6. Ändern Sie test.py so ab, dass statt read() die Methode readline verwendet wird.
    Was verändert sich an der Ausgabe?
    Was passiert, wenn Sie ein zweites mal readline aufrufen und ausgeben?
    Was passiert, wenn sie zuerst read und dann readline aufrufen? Was liefert readline hier zurück?
    Wie könnte man dies verbessern?
  7. Erstellen Sie ein UML-Klassendiagramm für TextIOWrapper mit den obigen Methoden.
    Geben Sie alle Rückgabe-Typen an.