Importieren einer Klasse aus einer anderen Datei in Python

Blog

Importieren einer Klasse aus einer anderen Datei in Python

Ursprünglich veröffentlicht bei ProgrammiererLegacy

Wenn Sie seit über einer Woche in Python programmieren, besteht eine Chance von 9 von 10, dass Sie bereits damit begonnen haben, einige Bibliotheken in Ihren Code zu importieren, um die Funktionalität Ihres Codes zu verbessern. Ohne diese Bibliotheken hätte Python nicht die weltweite Anerkennung, die es heute hat. Aber was ist hier das zugrunde liegende Konzept? Wie bringen diese Bibliotheken diese fast magischen Funktionen in Ihren Code? Und noch wichtiger: Können wir eine solche Funktion nachbilden?

Hintergrund

Bevor wir zum Hauptpunkt dieses Artikels kommen, werden wir noch ein paar andere Dinge kurz durchgehen. Sie können überspringen, wenn Sie dies bereits wissen, aber für diejenigen, die es nicht wissen, empfehle ich Ihnen dringend, dies alles durchzulesen.

Reagieren-Bootstrap-Dialog

Unten sehen Sie ein Beispiel für den Import einer ziemlich gebräuchlichen Bibliothek namens time. Wir werden eine der vielen Funktionen namens sleep() verwenden. Der Code dafür ist unten gezeigt.

import time time.sleep(5)

Uns interessiert nicht, was diese Funktion macht, sondern konzentrieren uns auf die Konstruktion der obigen Anweisung. Kommt es Ihnen bekannt vor? Wenn du fertig bist Klassen in Python Sie werden bemerkt haben, dass wir Methoden von Klassen genau so aufrufen. Um meinen Punkt weiter zu veranschaulichen, ist hier ein kleines Stück Code aus unserem Python-Klassen-Artikel.

class Student: def __init__(self,name,age): #Constructor self.name = name self.age = age def checkage(self): #Defines function if self.age <18: print('Underage') else: print('18 or Above') Student1 = Student('Naomi',20) #Creates object Student1.checkage() #Calls function

Sehen Sie, wie ähnlich die beiden Möglichkeiten zum Aufrufen der Funktion sind? Nun, das liegt daran, dass beide aus dem Unterricht anrufen. Dieser Teil ist etwas kompliziert, da numpy ein Modul und keine Klasse ist. Was ist dann ein Modul?

*Ein Modul ist eine Möglichkeit, wiederverwendbaren Python-Code zu speichern, der Klassen oder Funktionen enthält.
*
Der entscheidende Punkt hier ist, dass ein Modul mehr als nur eine Klasse oder Funktion haben kann. Das ist auf jeden Fall genug Hintergrund. Wenn Sie neugierig auf etwas sind, das oben besprochen wurde, können Sie es später immer noch googeln.

Erstellen eines Moduls

Wenn Sie diesen Artikel aufmerksam verfolgt haben, müssen Sie zu dem Schluss gekommen sein, dass wir ein Modul erstellen müssen, in dem wir die zu importierende Klasse erstellen. Keine Sorge, Sie können ein Modul in weniger als einer Minute erstellen. Alles, was Sie tun müssen, ist eine Python-Datei zu erstellen und ihr einen passenden Namen zu geben.

Für den Rest dieses Artikels haben wir eine Python-Datei namens . erstellt module1.py . Wir werden darin eine Klasse erstellen, die wir dann zur Verwendung in unserer Python-Hauptdatei importieren. Sie können importieren module1.py sofort, obwohl nichts drin ist.

Eine Klasse erstellen

Wir erstellen jetzt eine Klasse in der module1.py Datei. Es gibt keine Begrenzung für die Anzahl der Klassen, die Sie hinzufügen können, aber für diesen Artikel sollten Sie sich an eine halten. Wir werden auch in einer Bonusfunktion durchkommen (nicht alles muss in einer Klasse sein).

Unten haben wir eine Klasse namens maths erstellt, die eindeutig dazu gedacht ist, mathematische Methoden zu speichern. Wir haben zwei Methoden erstellt, add und sub, die jeweils zwei Zahlen addieren und subtrahieren.

class maths: def add(self, n1, n2): return n1 + n2 def sub(self, n1, n2): return n1 - n2 #Bonus Function def display(): print('Hello World')

Nun zurück zu unserer Python-Hauptdatei.

Importieren

Jetzt ist es an der Zeit, das Modul zu importieren und unsere neue Klasse und Funktionen auszuprobieren.

Um eine zu module1 gehörende Funktion oder Klasse aufzurufen, muss dieser Funktion oder Klasse das Wort module1 vorangestellt werden. Dies hilft bei Namenskollisionen, die auftreten können, wenn eine bereits vorhandene Funktion oder Klasse mit demselben Namen vorhanden ist.

Können Sie ein geschlossenes Cash-App-Konto wieder eröffnen?
import module1 Created a class object object1 = module1.maths() Calling and printing class methods print(object1.add(3,5)) print(object1.sub(8,2)) Calling the function module1.display()

Das Importieren des Moduls, wie bereits erwähnt, überträgt automatisch jede einzelne Klasse und Funktion im Modul in den Namensraum. Wenn Sie nur eine einzelne Funktion verwenden, können Sie verhindern, dass der Namespace überladen wird, indem Sie nur diese Funktion importieren. Im Folgenden zeigen wir ein Beispiel.

from module1 import display display()

Jetzt müssen Sie nur noch display() verwenden, um die importierte Funktion aufzurufen.

Erstellen von benutzerdefinierten Bibliotheken

Sie fragen sich, warum Sie sich die Mühe machen sollten, unsere eigenen Module zu erstellen, wenn es bereits so viele gibt? Die Antwort sind benutzerdefinierte Bibliotheken.

Wenn Sie umfangreich codieren, müssen Sie am Ende immer wieder ähnliche Codeteile codieren. Nehmen wir als Beispiel GUI-Bibliotheken. Um eine GUI zu erstellen, müssen Sie selbst für die einfachste Schnittstelle Dutzende von Codezeilen schreiben. Es gibt auch viele Wiederholungen, da Sie im Grunde immer wieder die gleichen Funktionen haben. Irgendwann wird Ihnen klar, dass es eine bessere Idee wäre, diesen Code in eine Funktion zu packen und in einer Python-Datei zu speichern. Wenn Sie später eine GUI erstellen möchten, können Sie diese Funktion einfach mit einem einzigen Aufruf aufrufen.

Dieser Ansatz ist (normalerweise) als persönlicher Ansatz gedacht. Jeder hat seinen eigenen Stil und seine eigenen Vorlieben beim Programmieren, daher gibt es keinen universellen Standard. Sie müssen nicht wirklich auf einer grundlegenden Ebene darüber nachdenken, aber es ist etwas, das Sie in Betracht ziehen sollten, wenn Sie mehr Erfahrung haben.

wo kann man flügel kaufen

Das ist das Ende. Ähnliche Artikel finden Sie unter ProgrammiererLegacy !

coderslegacy.com

Importieren einer Klasse aus einer anderen Datei in Python

Erfahren Sie, wie Sie eine Klasse aus einer anderen Python-Datei importieren! Wir führen Sie durch die Grundlagen und erklären, wie Module und Klassen zusammenarbeiten, um Python zu unterstützen.