TypeError: module object is not callable

In diesem Artikel sprechen wir über den Fehler „TypeError: ‚Modul‘-Objekt ist nicht aufrufbar“ in Python.

Wir beginnen mit der Definition einiger der in der Fehlermeldung gefundenen Schlüsselwörter – module und callable.

Anschließend sehen Sie einige Beispiele, die den Fehler auslösen, und erfahren, wie Sie ihn beheben können.

Wenn Sie bereits wissen, was Module sind und was es bedeutet, eine Funktion oder Methode aufzurufen, können Sie die nächsten beiden Abschnitte gerne überspringen.
Was ist ein Modul in der Programmierung?

In der modularen Programmierung sind Module einfach Dateien, die ähnliche Funktionalitäten enthalten, die zur Ausführung einer bestimmten Aufgabe erforderlich sind.

Module helfen uns, Code basierend auf der Funktionalität zu trennen und zu gruppieren. Sie könnten beispielsweise ein Modul namens math-ops.py haben, das nur Code enthält, der sich auf mathematische Operationen bezieht.

Dies erleichtert das Lesen, Wiederverwenden und Verstehen des Codes. Um ein Modul in einem anderen Teil Ihrer Codebasis zu verwenden, müssen Sie es importieren, um Zugriff auf alle im Modul definierten Funktionen zu erhalten.

In Python gibt es viele integrierte Module wie Betriebssystem, Mathematik, Zeit usw.

Hier ist ein Beispiel, das zeigt, wie das Mathematikmodul verwendet wird:

Mathematik importieren

import math

print(math.sqrt(25))
//5.0

Wie Sie oben sehen können, war das erste, was wir vor der Verwendung des Mathematikmoduls getan haben, es zu importieren: Mathematik importieren.

Anschließend haben wir die sqrt-Methode des Moduls verwendet, die die Quadratwurzel einer Zahl zurückgibt: math.sqrt(25).

Um die Quadratwurzel aus 25 zu ermitteln, brauchten wir lediglich zwei Codezeilen. In Wirklichkeit umfasst allein das Mathematikmodul über 3500 Codezeilen.

Dies soll Ihnen helfen zu verstehen, was ein Modul ist und wie es funktioniert. Sie können auch Ihre eigenen Module erstellen.
Was bedeutet „callable“ im Fehler „TypeError: ‚module‘ object is not callable“ ?

In Python und den meisten Programmiersprachen ist das Verb „call“ mit der Ausführung des in einer Funktion oder Methode geschriebenen Codes verbunden.

Andere ähnliche Begriffe, die meist mit derselben Aktion verwendet werden, sind „invoke“ und „fire“.

Hier ist eine Python-Funktion, die „Smile!“ ausgibt. zur Konsole:

def smile():
    print("Smile!")

Wenn Sie den obigen Code ausführen, wird nichts auf der Konsole ausgegeben, da die Funktion smile noch aufgerufen, aufgerufen oder ausgelöst werden muss.

Um die Funktion auszuführen, müssen wir den Funktionsnamen gefolgt von Klammern schreiben. Das ist:

def smile():
    print("Smile!")

 

Ohne die Klammer wird die Funktion nicht ausgeführt.

Jetzt sollten Sie verstehen, was der Begriff „aufrufbar“ in der Fehlermeldung „TypeError: ‚module‘ object is not callable“ bedeutet.
Was bedeutet der Fehler „TypeError: Modulobjekt ist nicht aufrufbar“ in Python?

Die letzten beiden Abschnitte haben uns geholfen, einige der Schlüsselwörter zu verstehen, die in der Fehlermeldung „TypeError: ‚Modul‘-Objekt ist nicht aufrufbar“ enthalten sind.

Vereinfacht ausgedrückt bedeutet der Fehler „TypeError: ‚Modul‘-Objekt ist nicht aufrufbar“, dass Module nicht wie Funktionen oder Methoden aufgerufen werden können.
So beheben Sie den Fehler „TypeError: Modulobjekt ist nicht aufrufbar“ in Python

Im Allgemeinen gibt es zwei Möglichkeiten, wie der Fehler „TypeError: ‚Modul‘-Objekt ist nicht aufrufbar“ ausgelöst werden kann: Aufrufen eines integrierten Moduls oder eines Drittanbietermoduls und Aufrufen eines Moduls anstelle einer Funktion.
Fehlerbeispiel Nr. 1

Mathematik importieren

print(math(25))

TypeError: Das „Modul“-Objekt ist nicht aufrufbar

Im obigen Beispiel haben wir das Mathematikmodul aufgerufen (unter Verwendung von Klammern ()) und 25 als Parameter übergeben, in der Hoffnung, eine bestimmte mathematische Operation auszuführen: math(25). Aber wir haben den Fehler erkannt.

Um dies zu beheben, können wir jede vom Mathematikmodul bereitgestellte Mathematikmethode verwenden. Wir verwenden die sqrt-Methode:

Mathematik importieren

print(math.sqrt(25))
5.0

Fehlerbeispiel Nr. 2

Für dieses Beispiel erstelle ich ein Modul zur Berechnung zweier Zahlen:

add.py

def add(a,b):
print(a+b)

Der Name des oben genannten Moduls lautet add, was sich aus dem Dateinamen add.py ableiten lässt.

Importieren wir die Funktion add() aus dem Modul add in eine andere Datei:

main.py

Import hinzufügen

add(2,3)

„TypeError: ‚module‘ object is not callable“

Sie fragen sich bestimmt, warum wir den Fehler erhalten, obwohl wir das Modul importiert haben. Nun, wir haben das Modul importiert, nicht die Funktion. Deshalb.

Um dies zu beheben, müssen Sie beim Importieren des Moduls den Namen der Funktion angeben:

from add import add
add(2,3)
5

Wir sind konkret: from add import add. Das ist dasselbe, als würde man sagen: „Importieren Sie die Add-Funktion aus dem Modul add.py“.

Sie können jetzt die Funktion add() in der Datei main.py verwenden.
Zusammenfassung

In diesem Artikel haben wir über den Fehler „TypeError: ‚Modul‘-Objekt ist nicht aufrufbar“ in Python gesprochen.

Dieser Fehler tritt hauptsächlich auf, wenn wir ein Modul aufrufen oder aufrufen, als wäre es eine Funktion oder Methode.

Wir haben zunächst besprochen, was ein Modul in der Programmierung ist und was es bedeutet, eine Funktion aufzurufen – das hat uns geholfen zu verstehen, was den Fehler verursacht.

Wir haben dann einige Beispiele gegeben, die den Fehler zeigten

Schreibe einen Kommentar