Python-Fehler: Objekt ist nicht aufrufbar

Salman Mehmood 21 Juni 2023
  1. Behebung des Python-Fehlers Objekt ist nicht aufrufbar
  2. die callable()-Funktion in Python
Python-Fehler: Objekt ist nicht aufrufbar

Wir werden den Typfehler Objekt ist nicht aufrufbar besprechen und sehen, wie wir ihn beheben können. Wir besprechen auch die Verwendung der aufrufbaren Funktion, um zu prüfen, ob die Objekte in Python aufrufbar sind oder nicht.

Behebung des Python-Fehlers Objekt ist nicht aufrufbar

Wenn wir uns diesen Fehler ansehen (Objekt ist nicht aufrufbar), müssen wir wahrscheinlich verstehen, was im Python-Skript passiert. Zum Beispiel haben wir ein paar Codezeilen, um das Problem zu demonstrieren und wie wir es beheben.

Fehlercode:

v = 5
g = 9
int = 3

print(int(g / v * int))

Ausgang:

TypeError: 'int' object is not callable

Wir haben drei Variablen v, g, und int. Wir haben dieses Problem, weil wir eine Variable namens int definiert haben, die eine Funktion ist.

Das int ist eine in Python eingebaute Funktion, weshalb wir das int nicht als Variablennamen verwenden können; Wenn das Python-Skript ausgeführt wird, versucht es daher, den Variablennamen int aufzurufen. Die Art int eines eingeschränkten Namens in Python, und als Ergebnis wird dieser Fehler angezeigt, wenn wir ihn als Variable verwenden.

Wir haben den Fehler behoben, indem wir den Variablennamen geändert und dieses Skript erneut ausgeführt haben.

Fester Code:

v = 5
g = 9
d = 3

print(int(g / v * d))

Ausgang:

5

Denken Sie daran, dass Sie beim Ausführen eines Programms mit einer Funktion in Ihrem Python-Skript diese Funktion niemals als Variablennamen verwenden sollten, da Sie mit demselben Problem konfrontiert werden. Das gleiche Problem tritt bei Strings, Floats usw. auf.

Wenn Sie diesen Fehler erhalten, sollten Sie zuerst überprüfen, ob eine Ihrer Variablen einen Funktionsnamen aufruft oder nicht. Wir können keine Variable aufrufen, die Datentypwerte wie im folgenden Codebeispiel speichert.

Fehlercode:

x = "josh"
x()

Ausgang:

TypeError: 'str' object is not callable

die callable()-Funktion in Python

Wenn ein Objekt wie eine Funktion aufgerufen werden kann, gibt die Funktion callable() True zurück und akzeptiert einen Parameter, der ein beliebiges Objekt sein kann.

Wenn wir zum Beispiel eine Variable haben, die x gleich 42 ist, bezieht sich diese Variable auf eine ganze Zahl im Speicher. Wir können x an die Funktion callable() übergeben und das Ergebnis sofort ausgeben, um zu sehen, ob es einen wahren oder einen falschen Wert zurückgibt.

Bei der Ausführung ist der Rückgabewert false, da die Integer-Zahl 42 nicht aufrufbar ist.

Beispielcode:

x = 42
print(callable(x))

Ausgang:

False

Schauen wir uns an, was passiert, wenn die Funktion callable() sich selbst aufruft; wir geben callable in die Funktion callable() ein und drucken diese aus. Wir werden sehen, dass das Ergebnis True ist, und wir können auch die Funktion print übergeben, die offensichtlich auch aufrufbar ist.

print(callable(callable))
print(callable(print))

Ausgang:

True
True

Angenommen, wir definieren unsere benutzerdefinierten Objekte, nicht eingebaute Objekte, wo sie aufrufbar sind oder nicht. Lassen Sie uns eine Funktion namens FUNC() erstellen, die etwas zurückgibt.

Wir übergeben diesen Funktionsnamen an die Funktion callable() und drucken die Ausgabe, und diese ist aufrufbar. Wenn wir den Rückgabewert mit FUNC() aufrufen, ist das eine Ganzzahl und übergeben sie an die Funktion callable(). Die Ausgabe wird False zurückgeben, was nicht aufrufbar ist, da wir eine Ganzzahl nicht aufrufen können, die wir uns bereits ansehen.

Beispiel:

def FUNC():
    return 51


print(callable(FUNC))
print(callable(FUNC()))

Ausgang:

True
False
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

Verwandter Artikel - Python Error