Problèmes liés aux importations mutuelles ou circulaires
Lorsque deux modules Python tentent de s'importer l'un l'autre, le résultat apparemment attendu serait une importation réussie . Cependant, les scénarios dans lesquels plusieurs modules s'engagent dans des tentatives d'importation cycliques présentent des complications.
Importations directes ou à partir de
Si une importation directe est tentée (par exemple, import foo in bar. py et la barre d'importation dans foo.py), l'importation s'exécutera généralement avec succès. Les deux modules seront chargés et établis avec des références l'un à l'autre au début de l'exécution du time code.
Le problème survient lorsque des importations "from" sont utilisées (par exemple, from foo import abc et from bar import xyz). Dans ces cas, chaque module nécessite la présence de l'autre pour avoir déjà été importé avant sa propre importation. Cela crée une impasse.
Travailler sur les importations circulaires en Python
Malgré le potentiel de problèmes d'importation circulaire, il existe des cas où ils ne posent pas de problèmes. Des exemples de versions spécifiques de Python incluent :
Python 3 :
Considérations supplémentaires
Les importations en étoile (par exemple, depuis foo import *) peuvent introduire d'autres complications qui ne sont pas couvertes dans les références fournies ci-dessous.
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!