"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 순환 종속성을 해결하는 방법은 무엇입니까?

Python에서 순환 종속성을 해결하는 방법은 무엇입니까?

2024-11-05에 게시됨
검색:637

How to Resolve Circular Dependency in Python?

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()
    ...
릴리스 선언문 이 글은 1729326856에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3