"AttributeError: 'module' object has no attribute [duplicate]": 종합 안내서
이 오류는 Python 모듈이 시도할 때 발생합니다. 존재하지 않는 속성에 액세스합니다. 특정 경우 오류는 "AttributeError: 'module' object has no attribute 'hi'"입니다. 이 오류는 가져오는 모듈(b.py)에 'hi'라는 함수가 없음을 나타냅니다.
상호 최상위 가져오기 이해
a.py와 b.py 사이에 상호 최상위 가져오기가 있기 때문에 문제가 발생합니다. 이는 순환 가져오기 및 기타 문제로 이어질 수 있으므로 일반적으로 권장되지 않습니다.
문제 해결
이 오류를 수정하고 상호 가져오기를 방지하려면 가져오기를 수행하면 됩니다. 함수 내의 모듈은 다음과 같습니다.
b.py에서:
<code class="python">def cause_a_to_do_something(): import a a.do_something()</code>
a.py에서:
<code class="python">import b def hello(): print("hello") print("a.py") print(hello()) b.cause_a_to_do_something()</code>
이렇게 하면 a.py가 안전하게 b.py를 가져오고 오류 없이 해당 기능을 호출할 수 있습니다.
가져오기 최적화
비효율적으로 보일 수도 있지만 함수 내에서 가져오기는 실제로는 그렇지 않습니다. Python은 가져온 모듈을 캐시하므로 가져오기 작업은 함수를 처음 호출할 때만 수행됩니다. 후속 가져오기는 빠른 작업입니다.
위 내용은 \'속성 오류: \'모듈\' 개체에 [중복] 속성이 없습니다.\'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!