Module mit der import-Anweisung importieren
Die gebräuchlichste Methode, ein Modul zu verwenden, ist der Import mittels der import-Anweisung. Dadurch wird der gesamte Code im Modul für Ihr aktuelles Skript verfügbar gemacht.
Im Datei-Explorer finden Sie eine leere Datei namens main.py. Dies wird unser Hauptskript für den Rest des Labs sein.
Öffnen Sie main.py und fügen Sie die folgende Zeile hinzu, um das Modul hello zu importieren:
import hello
print("The main.py script has finished.")
Speichern Sie die Datei. Führen Sie nun main.py im Terminal aus:
python3 main.py
Beobachten Sie die Ausgabe genau:
This code runs on import or direct execution.
The main.py script has finished.
Beachten Sie, dass nur die erste print-Anweisung aus hello.py ausgeführt wurde. Der Code innerhalb des Blocks if __name__ == "__main__": wurde übersprungen. Dies liegt daran, dass beim Importieren von hello durch main.py die Variable __name__ im Kontext von hello.py auf "hello" (den Namen des Moduls) und nicht auf "__main__" gesetzt wird. Diese Funktion ist entscheidend für die Erstellung wiederverwendbarer Module, die beim Import keine unerwünschten Nebeneffekte erzeugen.
Arbeiten wir nun mit einem Modul, das mehr als nur print-Anweisungen enthält. Öffnen Sie die Datei module_a.py. Sie enthält eine Variable, eine Funktion und eine Klasse.
PI = 3.14159
def greet(name):
print(f"Hello, {name} from module_a!")
class Calculator:
def add(self, x, y):
return x + y
Ändern Sie main.py, um module_a zu importieren und dessen Mitglieder zu verwenden. Um auf ein Mitglied eines importierten Moduls zuzugreifen, verwenden Sie die Syntax modulname.mitgliedsname.
Ersetzen Sie den Inhalt von main.py durch Folgendes:
import module_a
## Zugriff auf die PI-Variable
print(f"The value of PI is {module_a.PI}")
## Aufruf der greet-Funktion
module_a.greet("LabEx")
## Erstellen einer Instanz der Calculator-Klasse und Verwendung ihrer Methode
calc = module_a.Calculator()
result = calc.add(5, 3)
print(f"5 + 3 = {result}")
Speichern Sie die Datei und führen Sie sie aus:
python3 main.py
Die Ausgabe wird sein:
The value of PI is 3.14159
Hello, LabEx from module_a!
5 + 3 = 8
Dies demonstriert, wie die import-Anweisung ein gesamtes Modul lädt und wie Sie auf dessen Inhalt zugreifen, indem Sie den Namen des Moduls als Präfix verwenden.