순환 가져오기는 두 개 이상의 모듈이 서로 가져오려고 할 때 발생합니다. 단순 가져오기는 원활하게 작동할 수 있지만 모듈이 가져오려는 다른 모듈에서 특정 이름이나 속성을 가져오려고 하면 문제가 발생합니다.
직접 가져오기 순환 가져오기, 모듈은 직접 가져오기 문을 사용하여 서로를 전체적으로 가져오려고 시도합니다. 예:
# foo.py import bar # bar.py import foo
처음에는 두 모듈 모두 문제 없이 로드됩니다. 그러나 한 모듈이 다른 모듈을 완전히 로드해야 하는 이름에 액세스하려고 하면 런타임 오류가 발생할 수 있습니다.
런타임 오류를 방지하려면 다음을 사용하세요. 모듈이 전체 모듈이 아닌 속성이나 특정 이름을 가져오는 간접 가져오기. 예:
# foo.py from bar import xyz # bar.py from foo import abc
이 접근 방식을 사용하면 두 모듈 모두 완전히 로드하지 않고도 필요한 속성을 가져올 수 있습니다.
Python 2는 순환 가져오기와 관련하여 약간 다른 동작을 나타냅니다. "from"을 사용하지 않고 상대 가져오기만 사용하여 모듈 상단에서 가져오기와 같은 특정 시나리오에서 순환 가져오기는 Python 2에서는 작동하지만 Python 3에서는 작동하지 않을 수 있습니다.
다음 예는 Python에서 순환 가져오기가 허용되는 추가 시나리오를 보여줍니다.
위 내용은 Python에서 순환 가져오기를 어떻게 피할 수 있으며 그 결과는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!