4.6 Bibliotheken

In diesem Kapitel wollen wir Bibliotheken verwenden, um Code modular und wiederverwendbar zu machen. Bibliotheken ermöglichen es uns, häufig verwendeten Code auszulagern, sodass dieser in mehreren Projekten wiederverwendet werden kann.

Eine Bibliothek ist eine Sammlung von Funktionen, Klassen und anderen Ressourcen. Python verfügt über viele eingebaute Bibliotheken, wie time, machine, und socket, die wir bereits verwendet haben. Darüber hinaus können Sie eigene Bibliotheken erstellen, um Ihren Code übersichtlicher und modularer zu gestalten.

Übersicht Bibliotheken

Befehl Beschreibung
import Importiert eine gesamte Bibliothek oder Modul.
from ... import Importiert spezifische Klassen, Funktionen oder Variablen aus einer Bibliothek oder Modul.
as Verwendet einen Alias für eine importierte Bibliothek oder Modul.
__init__.py Kennzeichnet ein Verzeichnis als Python-Paket, um darin befindliche Module zu importieren.
sys.path Gibt den Suchpfad für Module an, ermöglicht das Hinzufügen neuer Pfade, um Module zu finden.
pip Ein Paketmanager, um externe Bibliotheken zu installieren (verwendbar bei Umgebungen mit Internetzugang, nicht direkt auf dem Pi Pico).

Einfache LED-Bibliothek erstellen und verwenden

In diesem Beispiel erstellen wir eine einfache Bibliothek zur Steuerung einer LED. Diese Bibliothek kann dann in verschiedenen Projekten verwendet werden, ohne dass der Code zur Steuerung der LED jedes Mal neu geschrieben werden muss.

Schritt 1: Erstellen der Bibliothek

Erstellen Sie eine neue Datei mit dem Namen led.py und speichern Sie diese im selben Verzeichnis wie Ihr Hauptscript. In dieser Datei definieren wir eine Klasse LEDController, die die Steuerung einer LED übernimmt.

# Eigene LED-Bibliothek
# J. Thomaschewski, 04.09.2024
# led.py
from machine import Pin
from time import sleep

class LEDController:
    def __init__(self, pinNumber):
        self.led = Pin(pinNumber, Pin.OUT)

    def blink(self, times, delay):
        for _ in range(times):
            self.led.on()
            sleep(delay)
            self.led.off()
            sleep(delay)

    def on(self):
        self.led.on()

    def off(self):
        self.led.off()

Schritt 2: Verwenden der Bibliothek im Hauptscript

Jetzt können wir die gerade erstellte Bibliothek led.py in unserem Hauptscript verwenden, um eine LED zu steuern.

# Hauptscript: Verwendung der LED-Bibliothek
# J. Thomaschewski, 04.09.2024
from led import LEDController

# Erstellen eines LED-Controllers für die eingebaute LED des Pi Pico
led_controller = LEDController('LED')

# LED blinken lassen
led_controller.blink(5, 0.5)

# LED dauerhaft einschalten
led_controller.on()

Erklärung

  • Erstellen der Bibliothek: In der Datei led.py haben wir eine Klasse LEDController definiert, die Methoden zum Blinken, Ein- und Ausschalten der LED enthält.
  • Verwendung der Bibliothek: Im Hauptscript importieren wir die Klasse LEDController aus der Bibliothek led.py und verwenden sie, um die LED zu steuern.

Vorteile der Verwendung von Bibliotheken

  • Wiederverwendbarkeit: Einmal erstellte Bibliotheken können in mehreren Projekten verwendet werden, was die Entwicklungszeit verkürzt und die Konsistenz verbessert.
  • Modularität: Durch die Aufteilung des Codes in Bibliotheken bleibt das Hauptscript übersichtlich und leicht wartbar.
  • Zusammenarbeit: Bibliotheken ermöglichen es mehreren Entwicklern, an verschiedenen Teilen eines Projekts zu arbeiten, ohne sich gegenseitig in die Quere zu kommen.