2016-07-19 2 views
1

이것은 이론적 인 질문으로 언젠가는 답을 찾고 있었지만 실제로는 찾을 수 없었습니다.Python : 모듈 가져 오기 최적화

주 파일 main.pyimport numpy as npimport helper 인 것으로 가정합니다. 내가 도우미 파일 helper.py이있는 경우

이미 main.py에서 수입하기 때문에, 나는 helper.py에서 np 사용할 수 있고, 유일한 시간 나는 지금까지 항상 가져 numpy 결과, main.py를 통해 helper.py가 사용해야합니까?

+1

[같은 모듈을 다른 파일로 가져오고 있습니다] (http://stackoverflow.com/q/18792145/2301450)? – vaultah

+3

실험을 시도 할 때 어떤 일이 발생 했습니까? – AlG

답변

1

아니오 python documentation 상태 :

가져 오기 문이 두 가지 작업을 결합; 명명 된 모듈을 검색 한 다음 해당 검색 결과를 로컬 범위의 이름에 바인딩합니다. 가져 오기 모듈의 상단에 발생하는 경우

지역 범위는 글로벌 것 - 모듈에 즉 로컬 .

더하기 쪽에서는 일반적으로 한 번만 수입이 발생합니다. 파이썬은 가져 오기를 수행하기 전에 캐시를 검색하여 가져온 모듈을 찾으면 이전에 가져온 모듈에 대한 참조를 작성합니다. 이 저장은 두 번째 복사본을로드해야합니다. 두 모듈 모두에서 import 문을 사용하는 데 아무런 해가 없습니다 (일반적으로).

가져 오기 검색 중에 처음 확인되는 항목은 sys.modules입니다. 이 매핑은 중간 경로를 포함하여 이전에 을 가져온 모든 모듈의 캐시 역할을합니다. FAQs에서 또한

:

어떻게 모듈에서 전역 변수를 공유합니까?

단일 프로그램 내에서 모듈을 통해 정보를 공유하는 표준 방법은 특수 모듈 (종종 config 또는 cfg라고 함)을 만드는 것입니다. 응용 프로그램의 모든 모듈에서 구성 모듈을 가져 오기 만하면됩니다.