Python의 순환 종속성
Python 모듈로 작업할 때 순환 종속성을 만나면 실망스러운 문제가 될 수 있습니다. 이 특정 시나리오에는 각각 Node 및 Path 클래스를 포함하는 node.py 및 path.py라는 두 개의 파일이 있습니다.
처음에 path.py는 from node.py import *를 사용하여 node.py를 가져왔습니다. 그러나 Path 객체를 참조하는 Node에 새 메서드를 추가한 후 Node가 정의되지 않았기 때문에 path.py를 가져오면 오류가 발생했습니다.
순환 종속성을 해결하려면 다음 구현을 고려하세요.
지연 평가 활용: 초기화 중에 하나의 모듈을 다른 모듈 내부로 가져오는 대신 특정 함수 내에서 필요할 때만 가져옵니다. 예를 들어, node.py에서는 필요할 때만 Path를 가져옵니다:
# in node.py from path import Path class Node ...
path.py에서 필요한 메소드 내에서만 노드를 가져옵니다.
# in path.py class Path def method_needs_node(): from node import Node n = Node() ...
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3