Zirkuläre Abhängigkeit in Python mit zwei Klassen
In Python kann es zu einem zirkulären Abhängigkeitsproblem kommen, wenn zwei Module sich gegenseitig importieren. Angenommen, Sie haben zwei Dateien, node.py und path.py, die Node- bzw. Path-Klassen definieren.
Ursprünglich importierte path.py Node mithilfe von from node.py import *. Nachdem Sie jedoch eine neue Methode in Node hinzugefügt haben, die Path verwendet, tritt beim Importieren von path.py eine Ausnahme auf, die darauf hinweist, dass Node undefiniert ist.
Um diese zirkuläre Abhängigkeit aufzulösen, ziehen Sie den folgenden Ansatz in Betracht:
Eine Möglichkeit besteht darin, nur eines der Module (in diesem Fall path.py) innerhalb der spezifischen Funktion/Methode des anderen Moduls (node.py) dort zu importieren, wo es benötigt wird. Dieser Ansatz funktioniert gut, wenn Sie die Abhängigkeit nur in einer begrenzten Anzahl von Funktionen benötigen:
<code class="python"># in node.py from path import Path class Node: ... # in path.py class Path: def method_needs_node(): from node import Node n = Node() ...</code>
Indem Sie node.py nur innerhalb der method_needs_node()-Methode importieren, vermeiden Sie das Problem der zirkulären Abhängigkeit.
Das obige ist der detaillierte Inhalt vonWie löst man zirkuläre Abhängigkeiten in Python mit zwei abhängigen Klassen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!