Python - Modules (Deutsch)

Hallo daar, zukünftige Python-Zauberer! Heute werden wir eine aufregende Reise in die Welt der Python-Module antreten. Keine Sorge, wenn du neu bei der Programmierung bist; ich werde dein freundlicher Guide sein und alles Schritt für Schritt erklären. Also, nimm deinen virtuellen Zauberstab (Tastatur) und lass uns einsteigen!

Python - Modules

Python-Module

Stell dir vor, du baust ein magisches Schloss (dein Programm). Anstatt alles von Grund auf zu konstruieren, wäre es nicht großartig, wenn du vorgefertigte Türme, Mauern und Tore hätte, die du nur einsetzen könntest? Genau das sind Module in Python - vorgefertigter Code, den du leicht in deine Programme einbinden kannst.

Python-Eingebaute Module

Python kommt mit einem Schatz voller eingebauter Module. Das sind wie magische Zauberformeln, die du sofort verwenden kannst. Lass uns eines ausprobieren!

import random

# Generiere eine zufällige Zahl zwischen 1 und 10
magische_nummer = random.randint(1, 10)
print(f"Deine magische Nummer ist: {magische_nummer}")

In diesem Beispiel verwenden wir das random-Modul, um eine zufällige Zahl zu generieren. Es ist wie ein Kaninchen aus einem Hut zu ziehen, aber mit Zahlen!

Python-Benutzerdefinierte Module

Während eingebaute Module großartig sind, musst du manchmal deine eigenen magischen Zauberformeln erstellen. Hier kommen benutzerdefinierte Module ins Spiel.

Ein Python-Modul Erstellen

Lass uns ein einfaches Modul namens magic_spells.py erstellen:

# magic_spells.py

def heben(gegenstand):
return f"{gegenstand} schwebt in der Luft!"

def verschwinden(gegenstand):
return f"{gegenstand} ist in den thin air verschwunden!"

Jetzt haben wir unser eigenes Modul mit zwei magischen Funktionen!

Die import-Anweisung

Um unser neu erstelltes Modul zu verwenden, müssen wir es importieren:

import magic_spells

# Verwende die Funktionen aus unserem Modul
print(magic_spells.heben("Buch"))
print(magic_spells.verschwinden("Kaninchen"))

Output:

Buch schwebt in der Luft!
Kaninchen ist in den thin air verschwunden!

Die from ... import-Anweisung

Manchmal brauchst du nur spezifische Zauberformeln aus einem Modul. Hier kommt from ... import zum Einsatz:

from magic_spells import heben

# Jetzt können wir heben direkt ohne magic_spells-Präfix verwenden
print(heben("Stuhl"))

Output:

Stuhl schwebt in der Luft!

Die from...import *-Anweisung

Wenn du alle Zauberformeln aus einem Modul importieren möchtest, kannst du from...import * verwenden:

from magic_spells import *

# Jetzt können wir alle Funktionen direkt verwenden
print(heben("Tisch"))
print(verschwinden("Hut"))

Aber sei vorsichtig mit diesem! Es ist wie die Öffnung von Pandoras Box - du könntest versehentlich bestehende Funktionen überschreiben, wenn sie den gleichen Namen haben.

Die import ... as-Anweisung

Manchmal können Modulnamen lang oder verwirrend sein. Du kannst ihnen einen Spitznamen geben, indem du import ... as verwendest:

import magic_spells as spells

print(spells.heben("Bleistift"))

Modules Lokalisieren

Python sucht nach Modulen an mehreren Orten:

  1. Das aktuelle Verzeichnis
  2. PYTHONPATH (falls gesetzt)
  3. Das installationsabhängige Standardverzeichnis

Die PYTHONPATH-Variable

PYTHONPATH ist wie eine magische Karte, die Python zeigt, wo er zusätzliche Module finden kann. Du kannst sie in den Umgebungsvariablen deines Systems setzen.

Namespaces und Scoping

Stelle dir Namespaces als verschiedene Realms in deiner magischen Welt vor. Jedes Modul hat seinen eigenen Namespace, der Konflikte zwischen ähnlich benannten Funktionen oder Variablen verhindert.

Modul-Attribute

Module haben spezielle Attribute. Lass uns einige erkunden:

import magic_spells

print(magic_spells.__name__)  # Gibt den Namen des Moduls aus
print(magic_spells.__file__)  # Gibt den Dateipfad des Moduls aus

Das name-Attribut

Das __name__-Attribut ist besonders. Es ist __main__, wenn das Skript direkt ausgeführt wird, und der Name des Moduls, wenn es importiert wird.

# In magic_spells.py, füge hinzu:
if __name__ == "__main__":
print("Dieses Modul wird direkt ausgeführt")
else:
print("Dieses Modul wird importiert")

Die dir() Funktion

Die dir()-Funktion ist wie ein magisches Spiegel, der dir alle Namen zeigt, die in einem Modul definiert sind:

import magic_spells

print(dir(magic_spells))

Die reload() Funktion

Wenn du Änderungen an einem Modul vornimmst und es ohne Python neu zu starten neu laden möchtest, kannst du reload() verwenden:

from importlib import reload
import magic_spells

# Mache Änderungen bei magic_spells.py
reload(magic_spells)

Pakete in Python

Pakete sind wie Zauberbücher, die mehrere Module enthalten. Sie sind einfach Verzeichnisse mit einer speziellen __init__.py-Datei.

Hier ist eine Tabelle, die die Importmethoden zusammenfasst, die wir gelernt haben:

Methode Syntax Beispiel
Basic Import import module_name import magic_spells
From Import from module_name import function_name from magic_spells import heben
Import All from module_name import * from magic_spells import *
Import as Alias import module_name as alias import magic_spells as spells

Und da hast du es, Lehrlinge! Du hast gerade die Grundlagen der Python-Module gelernt. Denke daran, dass Praxis Makes Perfect ist, also experimentiere weiter mit verschiedenen Modulen und erstelle deine eigene magische Python-Welt. Happy coding!

Credits: Image by storyset