Direkt zum Inhalt

Python Module Tutorial: Sie importieren, schreiben und verwenden

Lerne, wie man Python-Module erstellt und importiert. Entdecke Best Practices, Beispiele und Tipps, um wiederverwendbaren, organisierten und effizienten Python-Code zu schreiben!
Aktualisierte 28. März 2025  · 8 Min. Lesezeit

Als Anfänger fängst du an, mit Python auf dem Interpreter zu arbeiten. Später, wenn du längere Programme schreiben musst, fängst du an, Skripte zu schreiben. Wenn dein Programm größer wird, möchtest du es vielleicht in mehrere Dateien aufteilen, um die Wartung zu erleichtern und den Code wiederverwenden zu können. Die Lösung für dieses Problem sind Module. Du kannst deine meistgenutzten Funktionen in einem Modul definieren und es importieren, anstatt ihre Definitionen in verschiedene Programme zu kopieren. Ein Modul kann von einem anderen Programm importiert werden, um seine Funktionen zu nutzen. So kannst du auch die Python-Standardbibliothek nutzen.

Einfach gesagt, ist ein Modul eine Datei, die aus Python-Code besteht. Er kann Funktionen, Klassen und Variablen definieren und kann auch ausführbaren Code enthalten. Jede Python-Datei kann als Modul referenziert werden. Eine Datei, die Python-Code enthält, zum Beispiel: test.py wird als Modul bezeichnet, und ihr Name wäre test.

Es gibt verschiedene Methoden, um Module zu schreiben, aber der einfachste Weg ist, eine Datei mit der Erweiterung .py zu erstellen, die Funktionen und Variablen enthält.

Bevor du anfängst, eigene Module zu schreiben, empfehle ich dir unseren Kurs "Einführung in Python für Datenwissenschaft ", in dem du die Grundlagen der Programmiersprache Python kennenlernst.

Python von Grund auf lernen

Beherrsche Python für Data Science und erwerbe gefragte Fähigkeiten.
Kostenloses Lernen beginnen

Module in Python importieren

Um die Funktionen eines Moduls zu nutzen, musst du es in dein aktuelles Programm importieren. Du musst das Schlüsselwort import zusammen mit dem gewünschten Modulnamen verwenden. Wenn der Interpreter auf eine import Anweisung stößt, importiert er das Modul in dein aktuelles Programm. Du kannst die Funktionen innerhalb eines Moduls verwenden, indem du einen Punkt (.) zusammen mit dem Modulnamen verwendest. Zuerst schauen wir uns an, wie man die Module der Standardbibliothek verwendet. Im folgenden Beispiel wird das Modul math in das Programm importiert, damit du die Funktion sqrt() verwenden kannst.

import math  # Import the math module
num = 4
print(math.sqrt(num))  # Call the sqrt() function from the math module

Aus Gründen der Effizienz wird jedes Modul nur einmal pro Interpretersitzung importiert. Wenn du also deine Module änderst, musst du den Interpreter neu starten.

Wenn du nur ein einziges Modul interaktiv testen willst, verwende reload(), zum Beispiel: reload(module_name). In Python 3 musst du importlib importieren, bevor du reload() verwenden kannst:

import importlib
importlib.reload(module_name)

Wie du deine eigenen Python-Module schreibst

Nachdem du nun gelernt hast, wie du ein Modul in dein Programm importieren kannst, ist es an der Zeit, dein eigenes zu schreiben und es in einem anderen Programm zu verwenden. Das Schreiben eines Moduls ist genau wie das Schreiben jeder anderen Python-Datei. Beginnen wir damit, eine Funktion zum Addieren/Subtrahieren zweier Zahlen in einer Datei calculation.py zu schreiben.

def add(x,y):
    return (x+y)
def sub(x,y):
    return (x-y)

Wenn du versuchst, dieses Skript auf der Kommandozeile auszuführen, wird nichts passieren, weil du das Programm nicht angewiesen hast, etwas zu tun. Erstelle im gleichen Verzeichnis ein weiteres Python-Skript mit dem Namen module_test.py und schreibe den folgenden Code hinein.

import calculation            #Importing calculation module
print(calculation.add(1,2))   #Calling function defined in the calculation module 

Wenn du module_test.py ausführst, siehst du "3" als Ausgabe. Als der Interpreter auf die Anweisung import gestoßen ist, hat er das Modul calculation in deinen Code importiert und mit dem Punktoperator konntest du dann auf die Funktion add() zugreifen.

Andere Möglichkeiten, Module in Python zu importieren

Es gibt noch mehr Möglichkeiten, Module zu importieren:

  • from .. import Anweisung
  • from .. import * Anweisung
  • Umbenennung des importierten Moduls

Mit from module import name

Die Anweisung from..import ermöglicht es dir, bestimmte Funktionen/Variablen aus einem Modul zu importieren, anstatt alles zu importieren. Im vorherigen Beispiel wurden beim Import von calculation in module_test.py sowohl die Funktionen add() als auch sub() importiert. Aber was ist, wenn du nur die Funktion add() in deinem Code brauchst? Hier ist ein Beispiel, um die Verwendung von from..import zu veranschaulichen.

from calculation import add
print(add(1,2))

Im obigen Beispiel wird nur die Funktion add() importiert und verwendet. Hast du die Verwendung von add() bemerkt? Du kannst jetzt direkt darauf zugreifen, ohne den Modulnamen zu verwenden. Du kannst auch mehrere Attribute importieren, indem du sie in der Importanweisung durch ein Komma trennst. Sieh dir das folgende Beispiel an:

from calculation import add,sub

Mit from module import *

Mit dieser Anweisung kannst du alle Attribute eines Moduls importieren. Dadurch werden alle Attribute des importierten Moduls in deinem Code sichtbar.

Hier ist ein Beispiel, um die Verwendung von from .. import * zu veranschaulichen:

from calculation import *
print(add(1,2))
print(sub(3,2))

Beachte, dass du in der Berufswelt die Verwendung von from..import und from..import* vermeiden solltest, da sie deinen Code weniger lesbar macht.

Umbenennen von Modulen in Python

Du kannst das Modul, das du importierst, umbenennen. Das kann nützlich sein, wenn du dem Modul einen aussagekräftigeren Namen geben willst oder der Modulname zu groß ist, um ihn wiederholt zu verwenden. Du kannst das Schlüsselwort as verwenden, um es umzubenennen. Das folgende Beispiel erklärt, wie du sie in deinem Programm verwenden kannst.

import calculation as cal
print(cal.add(1,2))

Du hast dir etwas Tipparbeit erspart, indem du calculation in cal umbenannt hast.

Beachte, dass du jetzt nicht mehr calculation.add(1,2) verwenden kannst, da calculation in deinem Programm nicht mehr erkannt wird.

Modul-Suchpfad in Python

Es kann sein, dass du deine Module in verschiedenen Programmen oder Projekten brauchst und dass sie sich in unterschiedlichen Verzeichnissen befinden. Wenn du ein Modul verwenden möchtest, das sich in einem anderen Verzeichnis befindet, hast du einige Möglichkeiten, die dir Python bietet.

Wenn du ein Modul mit dem Namen calculation importierst, sucht der Interpreter zunächst nach einem eingebauten Modul mit diesem Namen. Wenn sie nicht gefunden wird, sucht sie nach einer Datei mit dem Namen calculation.py in einer Liste von Verzeichnissen, die durch die Variable sys.path angegeben wird. sys.path enthält diese Orte:

  • Das Verzeichnis, das das Eingabeskript enthält (oder das aktuelle Verzeichnis)

  • PYTHONPATH (eine Liste von Verzeichnisnamen mit der gleichen Syntax wie die Shell-Variable PATH)

  • Der installationsabhängige Standard

Angenommen, module_test.py liegt im Verzeichnis /home/datacamp/ und du hast calculation.py nach /home/test/ verschoben. Du kannst sys.path so ändern, dass /home/test/ in die Liste der Pfade aufgenommen wird, in denen der Python-Interpreter nach dem Modul sucht. Dazu musst du module_test.py auf folgende Weise ändern:

import sys
sys.path.append('/home/test/')

import calculation
print(calculation.add(1,2))

Byte-kompilierte Dateien in Python

Der Import eines Moduls erhöht die Ausführungszeit von Programmen, deshalb hat Python einige Tricks, um die Ausführung zu beschleunigen. Eine Möglichkeit ist, bytekompilierte Dateien mit der Erweiterung .pyc zu erstellen.

Intern wandelt Python den Quellcode in eine Zwischenform namens Bytecode um. Er übersetzt sie dann in die Muttersprache deines Computers und führt sie aus. Diese .pyc Datei ist nützlich, wenn du das Modul das nächste Mal aus einem anderen Programm importierst - es wird viel schneller gehen, da ein Teil der Verarbeitung, die für den Import eines Moduls erforderlich ist, bereits erledigt ist. Außerdem sind diese bytekompilierten Dateien plattformunabhängig.

Beachte, dass diese .pyc Dateien normalerweise im gleichen Verzeichnis wie die entsprechenden .py Dateien erstellt werden. Wenn Python keine Schreibrechte für die Dateien in diesem Verzeichnis hat, werden die .pyc Dateien nicht erstellt. Diese Dateien werden normalerweise im Verzeichnis __pycache__ zusammen mit deinen .py Dateien gespeichert.

Die Python dir()-Funktion

Die Funktion dir() wird verwendet, um alle in einem Modul definierten Namen herauszufinden. Sie gibt eine sortierte Liste von Strings mit den Namen zurück, die in einem Modul definiert sind.

import calculation
print(calculation.add(1,2))
print(dir(calculation))

Ausgabe:

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'add', 'sub']

In der Ausgabe kannst du die Namen der Funktionen sehen, die du im Modul add & sub definiert hast. Das Attribut __name__ enthält den Namen des Moduls. Alle Attribute, die mit einem Unterstrich beginnen, sind standardmäßige Python-Attribute, die mit einem Modul verbunden sind.

Fazit

Die Erstellung eines Moduls ist erforderlich, um den Code besser verwalten und wiederverwenden zu können. Python stellt dir einige eingebaute Module zur Verfügung, die du mit dem Schlüsselwort import importieren kannst. Mit Python kannst du auch deine eigenen Module erstellen und sie in deinen Programmen verwenden. Es bietet dir bytekompilierte Dateien, um die Kosten für die Verwendung von Modulen zu umgehen, was die Ausführung schneller macht. Du kannst dir() verwenden, um die Attribute zu kennen, die in dem Modul definiert sind, das in einem Programm verwendet wird. Dies kann sowohl für vordefinierte Module als auch für benutzerdefinierte Module verwendet werden.

Wenn du mehr über Python erfahren möchtest, kannst du dir unseren Kurs Intermediate Python for Data Science ansehen.

FAQs

Kann ich ein Modul innerhalb einer Funktion importieren?

Ja. Du kannst Module innerhalb von Funktionen importieren, aber aus Gründen der Übersichtlichkeit und der Leistung ist es in der Regel am besten, den Import am Anfang der Datei durchzuführen.

Was passiert, wenn zwei Module den gleichen Namen haben?

Python importiert die erste Übereinstimmung, die es im Modulsuchpfad findet (sys.path). Sei vorsichtig bei der Namensgebung, um Konflikte zu vermeiden.

Muss ich mein Modul manuell in .pyc kompilieren?

Nein. Python erstellt automatisch .pyc Dateien, wenn du ein Modul importierst - sofern Schreibrechte vorhanden sind.

Wie kann ich überprüfen, woher ein Modul importiert wird?

Verwende das Attribut __file__ des Moduls:

import math
print(math.__file__)

Ist es okay, from module import * zu verwenden?

Es funktioniert, wird aber für die Produktion nicht empfohlen. Er kann den Namensraum verschmutzen und es schwieriger machen, zu verfolgen, was verwendet wird.

Kann ich ein Modul neu laden, nachdem ich es bearbeitet habe?

Ja, in einer interaktiven Sitzung kannst du importlib.reload() verwenden:

import importlib
import mymodule
importlib.reload(mymodule)
Themen

Lerne mehr über Python mit diesen Kursen!

Zertifizierung verfügbar

Kurs

Einführung in Python

4 hr
6.1M
Beherrsche die Grundlagen der Datenanalyse mit Python in nur vier Stunden. Dieser Online-Kurs führt in die Python-Schnittstelle ein und stellt beliebte Pakete vor.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

Die 50 besten AWS-Interview-Fragen und Antworten für 2025

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interviewfragen, zusammen mit Fragen, die auf realen Situationen basieren.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen