AttributeError: 'module' object has no attribute
Beim Ausführen des Python-Moduls a.py mit gegenseitigen Importen der obersten Ebene tritt Folgendes auf: der Fehler „AttributeError: ‚module‘ object has no attribute ‚hi‘“. Dieser Fehler tritt aufgrund einer problematischen Einrichtung in den Importanweisungen beider Module auf.
In a.py importieren Sie Modul b und rufen seine Funktion hi() auf. In der referenzierten b.py gibt es jedoch kein hi-Attribut. Dies führt zu dem Fehler, der darauf hinweist, dass die Funktion hi() von b aus im Kontext von a nicht zugänglich ist.
Um dieses Problem zu beheben, ist es im Allgemeinen nicht ratsam, solche gegenseitigen Importe auf oberster Ebene durchzuführen. Erwägen Sie stattdessen den Import von Modulen innerhalb von Funktionen wie folgt:
<code class="python"># In b.py: def cause_a_to_do_something(): import a a.do_something()</code>
Indem Sie den Import innerhalb einer Funktion in b.py kapseln, ermöglichen Sie a.py, b sicher zu importieren, ohne den Fehler auszulösen. Darüber hinaus stellt dieser Ansatz sicher, dass der Importvorgang nur einmal erfolgt, obwohl die Funktion mehrmals aufgerufen wird.
Das obige ist der detaillierte Inhalt vonWie löse ich das Problem „AttributeError: Das Objekt „Modul' hat kein Attribut' in Python mit gegenseitigen Importen auf oberster Ebene?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!