Zirkuläre Abhängigkeit in Python
Das Auftreffen einer zirkulären Abhängigkeit kann bei der Arbeit mit Python-Modulen 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 bei Bedarf innerhalb einer bestimmten Funktion. Importieren Sie beispielsweise in node.py den Pfad nur bei Bedarf:
# in node.py from path import Path class Node ...
Importieren Sie in path.py den Knoten nur innerhalb der Methode, die dies erfordert:
# in path.py class Path def method_needs_node(): from node import Node n = Node() ...
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3