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

Susan Sarandon
Freigeben: 2024-10-19 16:35:30
Original
449 Leute haben es durchsucht

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 
    ...
Nach dem Login kopieren

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()
    ...
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!