So importieren Sie Module in Python 3

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 Anweisungimportzugegriffen. 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.pathempfä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 Anweisungimportausfü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 Modulsrandomwie 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 Anweisungimportkönnen Sie ein oder mehrere Module in Ihr Python-Programm importieren und so die in diesen Modulen erstellten Definitionen verwenden.

Verwenden vonfromimport

Um auf Elemente aus einem Modul im Namespace Ihres Programms zu verweisen, können Sie die Anweisungfromimportverwenden. 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 Anweisungimportmö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 vonfromimportkö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üsselwortsaszu ä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 Modulsmathin 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.