Dépendance circulaire en Python avec deux classes
En Python, vous pouvez rencontrer un problème de dépendance circulaire lorsque deux modules s'importent mutuellement. Par exemple, considérons que vous disposez de deux fichiers, node.py et path.py, définissant respectivement les classes Node et Path.
À l'origine, path.py importait Node à l'aide de node.py import *. Cependant, après avoir ajouté une nouvelle méthode dans Node qui utilise Path, vous rencontrez une exception lors de l'importation de path.py, indiquant que Node n'est pas défini.
Pour résoudre cette dépendance circulaire, envisagez l'approche suivante :
Une option consiste à importer un seul des modules (dans ce cas, path.py) dans la fonction/méthode spécifique de l'autre module (node.py) là où cela est nécessaire. Cette approche fonctionne bien si vous n'avez besoin de la dépendance que dans un nombre limité de fonctions :
<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>
En important node.py uniquement dans la méthode method_needs_node(), vous évitez le problème de dépendance circulaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!