두 모듈이 서로의 정의에 의존하여 가져오기 문제를 일으킬 때 순환 종속성이 발생할 수 있습니다. 이 경우 node.py와 path.py라는 두 개의 Python 파일이 있습니다. 처음에는 path.py가 node.py에서 Node를 가져왔습니다. 그러나 Node 참조 Path에 새로운 메소드가 추가된 후 순환 종속성이 발생했습니다.
이 문제를 해결하려면 다음과 같은 몇 가지 접근 방식을 고려할 수 있습니다.
1. 조건부 가져오기:
필요한 함수에서만 path.py를 가져옵니다.
# in node.py from path import Path class Node: # ... # in path.py def method_needs_node(): from node import Node n = Node() # ...
2. 후기 바인딩:
런타임에 누락된 클래스 참조를 할당하려면 setattr()을 사용하세요.
# in node.py # Placeholder Path class class Path: pass # Importing path.py import path # Assigning the actual Path class after importing path.py path.Path = load_node_module('path.Path') # Implementation details omitted class Node: # ... # in path.py class Path: # ...
위 내용은 Python 모듈에서 순환 종속성 문제를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!