Heim  >  Artikel  >  Backend-Entwicklung  >  Warum wirft Python den Fehler „TypeError: \'module\' object is not callable\' aus?

Warum wirft Python den Fehler „TypeError: \'module\' object is not callable\' aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-26 03:20:14140Durchsuche

Why Does Python Throw a

TypeError: 'module' object is not callable in Python

Die Fehlermeldung „TypeError: 'module' object is not callable“ erscheint wenn Sie versuchen, ein Modulobjekt als Funktion aufzurufen. Ein Modulobjekt ist der Objekttyp, den Sie erhalten, wenn Sie ein Modul importieren, und es ist nicht aufrufbar. Was Sie tun müssen, ist, ein Klassenobjekt innerhalb des Modulobjekts aufzurufen, das zufällig denselben Namen hat wie das Modul, das es enthält.

Zum Beispiel erzeugt der folgende Code den Fehler:

import socket
socket()

Das liegt daran, dass Socket ein Modulobjekt ist und nicht als Funktion aufgerufen werden kann. Um die Socket-Klasse aufzurufen, müssen Sie Folgendes tun:

import socket
socket.socket()

Oder:

from socket import socket
socket()

Hier ist eine Möglichkeit, diese Art von Fehler logisch aufzuschlüsseln:

  1. "Modulobjekt ist nicht aufrufbar. Python teilt mir mit, dass mein Code versucht, etwas aufzurufen, das nicht aufgerufen werden kann. Was versucht mein Code? call?“
  2. „Der Code versucht, einen Socket aufzurufen. Das sollte aufrufbar sein!“
  3. Ich sollte ausdrucken, was ein Socket ist print(socket)

Indem Sie diese Schritte befolgen, können Sie schnell die Fehlerquelle identifizieren und eine Lösung finden.

Das obige ist der detaillierte Inhalt vonWarum wirft Python den Fehler „TypeError: \'module\' object is not callable\' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn