Skip to article frontmatterSkip to article content

3.4.py-Dateien

Humboldt-Universität zu Berlin, Institut für Bibliotheks- und Informationswissenschaft

Python-Code wird in .py-Dateien gespeichert. Diese sind Textdateien, welche vom Python-Interpreter eingelesen und ausgeführt werden können.

Erstellen Sie eine Datei mit dem Namen ausleihe_funktion.py. Öffnen Sie diese in einem Text-Editor und fügen Sie die Funktionsdefinition aus dem letzten Beispiel ein (ausleihe_überprüfen()).

Der Inhalt sollte dann ungefähr so aussehen:

ausleihe_funktion.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def ausleihe_überprüfen(kontostand, aktuell):
    summe = kontostand + aktuell # in einer Funktion können Sie Variablen erstellen um Zwischenergebnisse zu speichern
    if summe > 15:
        # Eine Zeichenkette kann über mehrere Zeilen gehen, wenn Sie sie mit drei Anführungszeichen umschließen.
        print(f"""Sie haben bereits {kontostand} Bücher ausgeliehen.
Wenn Sie {aktuell} Bücher ausleihen würden, kämen Sie über die Grenze von
15 Büchern.

Sie können aktuell maximal {15 - kontostand} weitere Bücher ausleihen.""")
        
        return kontostand # Eine Ausleihe war nicht möglich, es wird der alte Kontostand zurückgegeben.
        
    elif summe >= 10: 
        print(f"Ihr neuer Kontostand: {summe} Bücher.")
        
        return summe # Die Ausleihe war erfolgreich und der neue Kontostand wird zurückgegeben.
        
    else:
        print("Ausleihe erfolgreich.")
        
        return summe # Auch hier war die Ausleihe erfolgreich und es wir der neue Kontostand zurückgegeben.

Nutzung des Codes in der REPL

Wollen Sie nun den Code einer Datei in der REPL nutzen so können Sie die Datei starten der REPL mit angeben. Die Option -i führt zuerst die Datei aus und steigt dann in die REPL ein. Für die weitere Benutzung ist so, als hätten Sie die REPL geöffnet und dann den Code in der Datei von oben nach unten eingetippt.

$ python3 -i ausleihe_funktion.py 
>>> ausleihe_überprüfen(8,6)
Ihr neuer Kontostand: 14 Bücher.
14
>>> 

Importieren von Code

Sie können auch die REPL starten und dann die Datei importieren. Diese Funktionalität des Importierens funktioniert auch aus anderen Python-Dateien heraus. So können komplexe Programme bestehend aus vielen einzelnen Dateien erstellt werden. Genauer funktioniert das Importieren in Python auf der Ebene sog. Module, welche fürs erste mit Python-Dateien gleichgesetzt werden können.

Zuerst importieren wir nur den Namen ausleihe_überprüfen (hinter dem sich die Funktion verbirgt) aus dem Modul ausleihe_funktion (welches hier der Datei ausleihe_funktion.py entspricht).

from ausleihe_funktion import ausleihe_überprüfen
neuer_kontostand = ausleihe_überprüfen(8, 1)
print(neuer_kontostand)
Ausleihe erfolgreich.
9

Es wäre auch möglich gewesen, das Modul als ganzes zu importieren und dann auf die Namen innerhalb des Moduls zuzugreifen:

import ausleihe_funktion
neuer_kontostand = ausleihe_funktion.ausleihe_überprüfen(8, 1)
print(neuer_kontostand)
Ausleihe erfolgreich.
9

Beide Optionen sind geläufig und manchmal ist die eine oder andere Option die passendere. Es gibt auch die Möglichkeit beim Importieren Dinge umzubenennen wie hier:

import ausleihe_funktion as af
neuer_kontostand = af.ausleihe_überprüfen(8, 1)
print(neuer_kontostand)
Ausleihe erfolgreich.
9

Auf weitere Details des Imports gehen wir zu gegebener Zeit ein.