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
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.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung