Heim >Backend-Entwicklung >Python-Tutorial >Wie kann „AttributeError: Module Object Missing Attribute' behoben werden, wenn versucht wird, gegenseitige Importe mit Zirkelverweisen durchzuführen?
AttributeError: Module Object Missing Attribute
Beim Versuch, zwei Module mit gegenseitigen Referenzen zu importieren, kann dieser Fehler auftreten: „AttributeError: ' Modul'-Objekt hat kein Attribut [Duplikat]". Dies tritt häufig auf, wenn die Modulstrukturen voneinander abhängig sind, was zu einem Zirkelverweis führt.
Erklärung
Im bereitgestellten Code versucht das Modul „a.py“. um „b.py“ zu importieren, und innerhalb von „b.py“ gibt es einen Import von „a.py“. Dadurch entsteht eine zirkuläre Abhängigkeit, die dazu führt, dass Python den „AttributeError“ auslöst.
Lösung
Um dieses Problem zu beheben, vermeiden Sie gegenseitige Importe innerhalb des Moduls der obersten Ebene. Verwenden Sie stattdessen bei Bedarf Funktionen, um Module zu importieren.
Beispiel in Python
Vorher:
<code class="python"># a.py import b # b.py import a</code>
Nachher:
<code class="python"># a.py def call_b(): import b b.hi() # b.py def hi(): print("hi")</code>
Auf diese Weise importiert „a.py“ nicht mehr „b.py“ auf der obersten Ebene und die zirkuläre Abhängigkeit wird unterbrochen.
Das obige ist der detaillierte Inhalt vonWie kann „AttributeError: Module Object Missing Attribute' behoben werden, wenn versucht wird, gegenseitige Importe mit Zirkelverweisen durchzuführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!