Konzept: Importe#

Mit import kannst du Bibliotheken einbinden und die darin enthaltenen Klassen und Funktionen verwenden. In Python gibt es verschiedene Möglichkeiten, Bibliotheken zu importieren.


Verschiedene Arten von Imports#

In Python kannst du Bibliotheken auf unterschiedliche Weise importieren. Alle der folgenden Zeilen sind gültig:

import miniworlds
from miniworlds import *
import miniworlds

Bei der ersten Variante import miniworlds musst du alle Objekte mit miniworlds. vorsetzen – also z. B. miniworlds.World() schreiben.

Alternativ kannst du from miniworlds import * schreiben. Dann kannst du das Präfix miniworlds. weglassen und direkt World() schreiben.

So würde ein einfaches Programm mit import miniworlds aussehen:

import miniworlds

world = miniworlds.TiledWorld()
world.add_background("images/soccer_green.jpg")
world.columns = 20
world.rows = 8
world.tile_size = 40

world.run()

Explizit vs. Implizit#

miniworlds.object zu verwenden wirkt vielleicht etwas umständlicher, ist aber in Python die bevorzugte Methode.

Warum? Weil dein Code dadurch lesbarer wird – es ist sofort erkennbar, aus welcher Bibliothek eine Funktion oder Klasse stammt.

Wenn du z. B. eine eigene Klasse namens TiledWorld definierst, würde das mit der importierten Klasse kollidieren. Durch das Präfix (miniworlds.TiledWorld) vermeidest du solche Verwechslungen.

Das folgt dem Python-Zen-Prinzip:

Explizit ist besser als implizit.


Aliase#

Die dritte Option ist ein Kompromiss zwischen den beiden Varianten.

Wenn dir miniworlds zu lang ist, kannst du einen Alias verwenden — zum Beispiel mwm:

import miniworlds as mwm

world = mwm.TiledWorld()
world.add_background("images/soccer_green.jpg")
world.columns = 20
world.rows = 8
world.tile_size = 40

world.run()

Hinweise für Lehrkräfte#

In diesen Tutorials werden beide Import-Stile verwendet. Als Lehrkraft kannst du entscheiden, ob du für Einsteiger einen Stil standardisieren möchtest.

Für Lernende, die neu in Python sind, kann es anfangs sinnvoll sein, kompliziertere Importvarianten (wie from ... import *) zu vermeiden.