Циклическая зависимость в Python
у меня есть два файла, node.py и path.py, которые определяют два класса, Node и Path, соответственно.
до сегодняшнего дня определение для Path ссылки Node "объект", и поэтому я сделал
from node.py import *
на .
однако, на сегодняшний день я создал новый метод для Node, который ссылается на
2 ответов:
Импорт Модулей Python это отличная статья, которая объясняет циклический импорт в 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() ...
Comments