Heim  >  Artikel  >  Backend-Entwicklung  >  Wie löst man eine zirkuläre Abhängigkeit in Python auf?

Wie löst man eine zirkuläre Abhängigkeit in Python auf?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 16:35:30453Durchsuche

How to Resolve Circular Dependency in Python?

Zirkuläre Abhängigkeit in Python

Bei der Arbeit mit Python-Modulen kann das Auftreffen einer zirkulären Abhängigkeit ein frustrierendes Problem sein. In diesem speziellen Szenario haben wir zwei Dateien, node.py und path.py, die die Klassen Node bzw. Path enthalten.

Zunächst importierte path.py node.py mithilfe von from node.py import *. Nach dem Hinzufügen einer neuen Methode zu Node, die auf das Path-Objekt verweist, führte das Importieren von path.py jedoch zu einem Fehler, da Node nicht definiert wurde.

Um die zirkuläre Abhängigkeit aufzulösen, sollten Sie Folgendes implementieren:

Verzögerte Auswertung nutzen: Anstatt während der Initialisierung ein Modul in ein anderes zu importieren, importieren Sie es nur, wenn es innerhalb einer bestimmten Funktion erforderlich ist. Importieren Sie beispielsweise in node.py Path nur bei Bedarf:

# in node.py 
from path import Path
class Node 
    ...

In path.py importieren Sie Node nur innerhalb der Methode, die dies erfordert:

# in path.py
class Path
  def method_needs_node(): 
    from node import Node
    n = Node()
    ...

Das obige ist der detaillierte Inhalt vonWie löst man eine zirkuläre Abhängigkeit in Python auf?. 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