Einführung
Die Programmiersprache Python enthält eine Vielzahl vonbuilt-in functions. Unter diesen sind einige allgemeine Funktionen, einschließlich:
-
print()
, das Ausdrücke ausgibt -
abs()
, das den absoluten Wert einer Zahl zurückgibt -
int()
, das einen anderen Datentyp in eine Ganzzahl konvertiert -
len()
, das die Länge einer Sequenz oder Sammlung zurückgibt
Diese eingebauten Funktionen sind jedoch begrenzt, und wir können Module verwenden, um anspruchsvollere Programme zu erstellen.
Modules sind Python.py
Dateien, die aus Python-Code bestehen. Jede Python-Datei kann als Modul referenziert werden. Eine Python-Datei mit dem Namenhello.py
hat den Modulnamenhello
, der in andere Python-Dateien importiert oder im Python-Befehlszeileninterpreter verwendet werden kann. Sie können lernen, wie Sie Ihre eigenen Module erstellen, indem SieHow To Write Modules in Python 3 lesen.
Module könnendefine functions,classes undvariables sein, auf die Sie in anderen Python.py
-Dateien oder über den Python-Befehlszeileninterpreter verweisen können.
In Python wird auf Module mit der Anweisungimport
zugegriffen. Wenn Sie dies tun, führen Sie den Code des Moduls aus und behalten den Gültigkeitsbereich der Definitionen bei, damit Ihre aktuelle (n) Datei (en) davon Gebrauch machen können.
Wenn Python beispielsweise ein Modul namenshello
importiert, sucht der Interpreter zuerst nach einem integrierten Modul namenshello
. Wenn ein integriertes Modul nicht gefunden wird, sucht der Python-Interpreter in einer Liste von Verzeichnissen, die er von der Variablensys.path
empfängt, nach einer Datei mit dem Namenhello.py
.
In diesem Tutorial werden Sie durch das Suchen und Installieren von Modulen, das Importieren von Modulen und das Aliasing von Modulen geführt.
Module suchen und installieren
Es gibt eine Reihe von Modulen, die inPython Standard Library integriert sind. Diese enthalten viele Module, die Zugriff auf Systemfunktionen bieten oder standardisierte Lösungen bereitstellen. Die Python Standard Library ist Teil jeder Python-Installation.
Um zu überprüfen, ob diese Python-Module betriebsbereit sind, geben Sie Ihrelocal Python 3 programming environment oderserver-based programming environment ein und starten Sie den Python-Interpreter in Ihrer Befehlszeile wie folgt:
python
Innerhalb des Interpreters können Sie die Anweisungimport
ausführen, um sicherzustellen, dass das angegebene Modul zum Aufrufen bereit ist, wie in:
import math
Damath
ein integriertes Modul ist, sollte Ihr Interpreter die Aufgabe ohne Rückmeldung abschließen und zur Eingabeaufforderung zurückkehren. Dies bedeutet, dass Sie nichts tun müssen, um dasmath
-Modul zu verwenden.
Führen Sie die Anweisungimport
mit einem Modul aus, das Sie möglicherweise nicht installiert haben, z. B. der 2D-Plotbibliothekmatplotlib
:
import matplotlib
Wennmatplotlib
nicht installiert ist, wird folgende Fehlermeldung angezeigt:
OutputImportError: No module named 'matplotlib'
Sie können den Python-Interpreter mitCTRL + D
deaktivieren und dannmatplotlib
mitpip
installieren.
Als nächstes können wirpip
verwenden, um dasmatplotlib
-Modul zu installieren:
pip install matplotlib
Nach der Installation können Siematplotlib
mitimport matplotlib
in den Python-Interpreter importieren. Der Vorgang wird ohne Fehler abgeschlossen.
Module importieren
Um die Funktionen in einem Modul nutzen zu können, müssen Sie das Modul mit einerimport
-Anweisung importieren.
Eineimport
-Anweisung besteht aus dem Schlüsselwortimport
zusammen mit dem Namen des Moduls.
In einer Python-Datei wird dies am oberen Rand des Codes unter beliebigen Zeilen oder allgemeinen Kommentaren deklariert.
In der Python-Programmdateimy_rand_int.py
würden wir also das Modulrandom
importieren, um Zufallszahlen auf folgende Weise zu generieren:
my_rand_int.py
import random
Wenn wir ein Modul importieren, stellen wir es uns in unserem aktuellen Programm als separaten Namespace zur Verfügung. Dies bedeutet, dass wir uns auf die Funktion in Punktnotation beziehen müssen, wie in[module].[function]
.
In der Praxis kann dies am Beispiel des Modulsrandom
wie eine Funktion aussehen:
-
random.randint()
, das die Funktion aufruft, um eine zufällige Ganzzahl zurückzugeben, oder -
random.randrange()
, das die Funktion aufruft, um ein zufälliges Element aus einem angegebenen Bereich zurückzugeben.
Erstellen wir einfor
loop, um zu zeigen, wie wir eine Funktion desrandom
-Moduls in unseremmy_rand_int.py
-Programm aufrufen:
my_rand_int.py
import random
for i in range(10):
print(random.randint(1, 25))
Dieses kleine Programm importiert zuerst dasrandom
-Modul in der ersten Zeile und bewegt sich dann in einefor
-Schleife, die mit 10 Elementen arbeitet. Innerhalb der Schleife gibt das Programm eine zufällige Ganzzahl im Bereich von 1 bis 25 (einschließlich) aus. Die ganzen Zahlen1
und25
werden als Parameter anrandom.randint()
übergeben.
Wenn wir das Programm mitpython my_rand_int.py
ausführen, erhalten wir 10 zufällige Ganzzahlen als Ausgabe. Da diese zufällig sind, erhalten Sie bei jeder Ausführung des Programms wahrscheinlich unterschiedliche Ganzzahlen, die jedoch ungefähr so aussehen:
Output6
9
1
14
3
22
10
1
15
9
Die Ganzzahlen sollten niemals unter 1 oder über 25 liegen.
Wenn Sie Funktionen aus mehr als einem Modul verwenden möchten, können Sie dazu mehrereimport
-Anweisungen hinzufügen:
my_rand_int.py
import random
import math
Möglicherweise werden Programme angezeigt, die mehrere Module mit Kommas trennen - wie inimport random, math
-, dies stimmt jedoch nicht mitPEP 8 Style Guide überein.
Um unser zusätzliches Modul nutzen zu können, können wir die Konstantepi
vonmath
zu unserem Programm hinzufügen und die Anzahl der ausgedruckten zufälligen Ganzzahlen verringern:
my_rand_int.py
import random
import math
for i in range(5):
print(random.randint(1, 25))
print(math.pi)
Wenn wir jetzt unser Programm ausführen, erhalten wir eine Ausgabe, die wie folgt aussieht:
Output18
10
7
13
10
3.141592653589793
Mit der Anweisungimport
können Sie ein oder mehrere Module in Ihr Python-Programm importieren und so die in diesen Modulen erstellten Definitionen verwenden.
Verwenden vonfrom
…import
Um auf Elemente aus einem Modul im Namespace Ihres Programms zu verweisen, können Sie die Anweisungfrom
…import
verwenden. Wenn Sie Module auf diese Weise importieren, können Sie die Funktionen nach Namen anstatt durch Punktnotation referenzieren
In dieser Konstruktion können Sie angeben, auf welche Definitionen direkt verwiesen werden soll.
In anderen Programmen wird die Anweisungimport
möglicherweise Verweise auf alle im Modul definierten Elemente enthalten, indem ein Sternchen (*
) als Platzhalter verwendet wird. Dies wird jedoch durchPEP 8 nicht empfohlen.
Schauen wir uns zunächst den Import einer bestimmten Funktion an,randint()
aus dem Modulrandom
:
my_rand_int.py
from random import randint
Hier rufen wir zuerst das Schlüsselwortfrom
auf, dannrandom
für das Modul. Als nächstes verwenden wir das Schlüsselwortimport
und rufen die spezifische Funktion auf, die wir verwenden möchten.
Wenn wir diese Funktion in unserem Programm implementieren, schreiben wir die Funktion nicht mehr in Punktnotation alsrandom.randint()
, sondern schreiben nur nochrandint()
:
my_rand_int.py
from random import randint
for i in range(10):
print(randint(1, 25))
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie zuvor.
Durch die Verwendung der Konstruktion vonfrom
…import
können wir auf die definierten Elemente eines Moduls im Namespace unseres Programms verweisen und so die Punktnotation vermeiden.
Aliasing-Module
Es ist möglich, die Namen von Modulen und ihre Funktionen in Python mithilfe des Schlüsselwortsas
zu ändern.
Möglicherweise möchten Sie einen Namen ändern, weil Sie bereits denselben Namen für etwas anderes in Ihrem Programm verwendet haben, ein anderes Modul, das Sie importiert haben, diesen Namen ebenfalls verwendet oder einen längeren Namen abkürzen möchten, den Sie häufig verwenden.
Der Aufbau dieser Aussage sieht folgendermaßen aus:
import [module] as [another_name]
Ändern Sie den Namen des Modulsmath
in unserer Programmdateimy_math.py
. Wir werden den Modulnamen vonmath
inm
ändern, um ihn abzukürzen. Unser modifiziertes Programm sieht dann so aus:
my_math.py
import math as m
print(m.pi)
print(m.e)
Innerhalb des Programms bezeichnen wir nun diepi
-Konstante alsm.pi
und nicht alsmath.pi
.
Für einige Module ist es üblich, Aliase zu verwenden. matplotlib.pyplot
module’s official documentation fordert die Verwendung vonplt
als Alias auf:
import matplotlib.pyplot as plt
Auf diese Weise können Programmierer das kürzere Wortplt
an alle im Modul verfügbaren Funktionen anhängen, wie inplt.show()
. Sie können diese Alias-Importanweisung in unserer "https://www.digitalocean.com/community/tutorials/how-to-plot-data-in-python-3-using-matplotlib[How to Plot Data in Python" sehen 3 Verwenden des Lernprogramms vonmatplotlib
]. “
Fazit
Wenn wir Module importieren, können wir Funktionen aufrufen, die nicht in Python integriert sind. Einige Module werden als Teil von Python installiert, andere werden überpip
installiert.
Durch die Verwendung von Modulen können wir unsere Programme robuster und leistungsfähiger machen, indem wir vorhandenen Code nutzen. Wir können auchcreate our own modules für uns und andere Programmierer in zukünftigen Programmen verwenden.