Python - Pakete: Ihr Schlüssel zu Code-Wiederverwendbarkeit und Organisation

Hallo, aufstrebende Python-Programmierer! Heute werden wir auf eine aufregende Reise in die Welt der Python-Pakete einbrechen. Als euer freundlicher Nachbar und Informatiklehrer freue ich mich, euch durch dieses grundlegende Konzept zu führen, das eure Programmierfähigkeiten auf die nächste Stufe heben wird. Also, packt eure virtuellen Rucksäcke und lasst uns einsteigen!

Python - Packages

Was sind Python-Pakete?

Bevor wir unsere eigenen Pakete erstellen, lassen uns verstehen, was sie sind und warum sie so wichtig sind.

Stellt euch vor, ihr baust eine riesige LEGO-Struktur. Anstatt die LEGO-Steine überall verstreut zu haben, wäre es nicht schön, sie in separate Schachteln nach ihrem Zweck organisiert zu haben? Genau das machen Python-Pakete für euren Code!

Ein Python-Paket ist eine Möglichkeit, verwandte Module in eine Verzeichnisstruktur zu organisieren. Es ermöglicht es euch, ähnliche Funktionen zusammenzufassen, was euren Code organisierter, wiederverwendbarer und leichter zu pflegen macht.

Ein Python-Paket erstellen

Jetzt rollen wir die Ärmel hoch und erstellen unser eigenes Python-Paket. Wir beginnen mit einem einfachen Beispiel, um uns an die Sache zu gewöhnen.

Schritt 1: Das Paketverzeichnis erstellen

Zuerst müssen wir ein Verzeichnis für unser Paket erstellen. Nennen wir es mein_mathematik_paket.

mein_mathematik_paket/

Schritt 2: Eine init.py-Datei hinzufügen

Erstellt innerhalb des Verzeichnisses mein_mathematik_paket eine leere Datei namens __init__.py. Diese Datei weist Python an, das Verzeichnis als Paket zu behandeln.

mein_mathematik_paket/
__init__.py

Schritt 3: Moduldateien erstellen

Jetzt fügen wir einige Module zu unserem Paket hinzu. Wir erstellen zwei einfache Module: grundlegende Operationen.py und fortgeschrittene Operationen.py.

mein_mathematik_paket/
__init__.py
grundlegende_Operationen.py
fortgeschrittene_Operationen.py

Schritt 4: Code zu den Modulen hinzufügen

Fügen wir einige einfache Funktionen zu unseren Modulen hinzu.

In grundlegende_Operationen.py:

def addieren(a, b):
return a + b

def subtrahieren(a, b):
return a - b

In fortgeschrittene_Operationen.py:

def potenz(basis, exponent):
return basis ** exponent

def fakultaet(n):
if n == 0 or n == 1:
return 1
else:
return n * fakultaet(n-1)

Schritt 5: Das Paket verwenden

Jetzt, da wir unser Paket erstellt haben, lassen uns sehen, wie wir es in unserem Python-Code verwenden können.

# Spezifische Funktionen importieren
from mein_mathematik_paket.grundlegende_Operationen import addieren, subtrahieren
from mein_mathematik_paket.fortgeschrittene_Operationen import potenz, fakultaet

# Importierte Funktionen verwenden
print(addieren(5, 3))  # Ausgabe: 8
print(subtrahieren(10, 4))  # Ausgabe: 6
print(potenz(2, 3))  # Ausgabe: 8
print(fakultaet(5))  # Ausgabe: 120

Ist das nicht praktisch? Wir haben soeben unser eigenes Python-Paket erstellt und verwendet!

Die Paketliste definieren

Bei der Arbeit an größeren Projekten könnt ihr möglicherweise mehrere Pakete benötigen. Es ist eine gute Praxis, alle Pakete zu verfolgen, von denen euer Projekt abhängt. Hier kommt eine Paketliste ins Spiel.

Eine Paketliste wird typischerweise in einer Datei namens Anforderungen.txt gespeichert. Diese Datei listet alle Pakete und ihre Versionen auf, die euer Projekt benötigt, um korrekt zu funktionieren.

Hier ist ein Beispiel für eine Anforderungen.txt-Datei:

numpy==1.21.0
pandas==1.3.0
matplotlib==3.4.2

Jede Zeile gibt einen Paketnamen und seine Version an. Das Doppelgleichheitszeichen (==) zeigt an, dass wir genau diese Version wollen.

Paketinstallation

Jetzt, da wir wissen, wie wir unsere erforderlichen Pakete auflisten, lernen wir, wie wir sie installieren. Python bietet ein leistungsstarkes Werkzeug namens pip für die Paketinstallation.

Ein einzelnes Paket installieren

Um ein einzelnes Paket zu installieren, könnt ihr den folgenden Befehl in eurem Terminal oder Eingabeaufforderung verwenden:

pip install paket_name

Zum Beispiel, um NumPy zu installieren:

pip install numpy

Installation aus Anforderungen.txt

Um alle Pakete in eurer Anforderungen.txt-Datei zu installieren, verwendet:

pip install -r Anforderungen.txt

Dieser Befehl weist pip an, die Anforderungen.txt-Datei zu lesen und alle darin aufgelisteten Pakete zu installieren.

Virtuelle Umgebungen

Hier ist ein Profi-Tipp: Wenn ihr an verschiedenen Projekten arbeitet, ist es eine gute Idee, virtuelle Umgebungen zu verwenden. Eine virtuelle Umgebung ist wie ein separates Spielfeld für jedes eure Projekte, das ihre Abhängigkeiten voneinander isoliert.

Um eine virtuelle Umgebung zu erstellen:

python -m venv meine_umgebung

Um sie zu aktivieren:

  • Unter Windows: meine_umgebung\Scripts\aktivieren
  • Unter macOS und Linux: source meine_umgebung/bin/aktivieren

Sobald aktiviert, werden alle Pakete, die ihr installiert, spezifisch für diese Umgebung sein, was eure Projekte schön und sauber hält!

Fazit

Herzlichen Glückwunsch! Ihr habt gerade einen großen Schritt in eurer Python-Reise gemacht, indem ihr über Pakete gelernt habt. Von der Erstellung eurer eigenen Pakete bis hin zur Installation und Verwaltung davon, habt ihr nun die Werkzeuge, um euren Code wie ein Profi zu organisieren.

Denkt daran, Pakete sind wie die Regale in eurer Code-Bibliothek. Sie helfen euch, alles organisiert zu halten, was es einfacher macht, das, was ihr benötigt, zu finden und euren Code mit anderen zu teilen. Während ihr weiterhin eure Python-Abenteuer fortsetzt, werdet ihr viele mehr aufregende Pakete entdecken, die eure Projekte mit leistungsstarken Funktionen erweitern können.

Weiter üben, neugierig bleiben und happy coding!

Methode Beschreibung
pip install paket_name Installiert ein einzelnes Paket
pip install -r Anforderungen.txt Installiert Pakete aus Anforderungen.txt
python -m venv meine_umgebung Erstellt eine virtuelle Umgebung
meine_umgebung\Scripts\aktivieren (Windows) Aktiviert die virtuelle Umgebung unter Windows
source meine_umgebung/bin/aktivieren (macOS/Linux) Aktiviert die virtuelle Umgebung unter macOS/Linux

Credits: Image by storyset