Главная Новости Галерея Вопросы Библиотека Контакты

파이썬 import 예제

버전 3.3에서 변경: 가져오기 시스템이 완전히 PEP 302의 두 번째 단계를 구현하도록 업데이트되었습니다. 더 이상 암시적 가져오기 기계가 없습니다 — 전체 가져오기 시스템은 sys.meta_path를 통해 노출됩니다. 또한 네이티브 네임스페이스 패키지 지원이 구현되었습니다(PEP 420 참조). 우리가 파이썬 PATH를 수정하지 않고 sys.path를 프로그래밍 방식으로 수정하지 않으면 다음은 파이썬 가져오기의 주요 제한 사항입니다. 네임 스페이스; 모듈 fib의 항목 피보나치항목을 가져오기 모듈의 전역 기호 테이블에 소개합니다. 수입 기계는 파이썬의 초기부터 상당히 진화했다. 패키지의 원래 사양은 여전히 읽을 수 있지만 해당 문서를 작성한 이후 일부 세부 정보가 변경되었습니다. 이제 가져오기 문을 사용하여 방금 만든 모듈을 사용할 수 있습니다: 패키지 가져오기는 패키지의 __init__py 파일을 모듈로 가져오는 것과 개념적으로 동일합니다. 실제로 파이썬은 패키지를 경고의 단어로 취급합니다:이 섹션과 이전 둘 다 메타 경로 파인더 및 경로 입력 파인더라는 용어를 사용하여 구별되는 용어 파인더를 사용합니다. 이러한 두 가지 유형의 파인더는 매우 유사하며, 유사한 프로토콜을 지원하며, 가져오기 프로세스 중에 유사한 방식으로 작동하지만 미묘하게 다르다는 것을 명심하는 것이 중요합니다.

특히 메타 경로 파인더는 sys.meta_path 통과에서 키로 가져오기 프로세스의 시작 부분에서 작동합니다. 경로 기반 파인더는 검색 경로의 모든 항목을 반복해서 사용하며, 이들 각각에 대해 경로 항목에 적합한 경로 입력 파인더(PathEntryFinder)를 찾습니다. 이 작업은 비용이 많이 드는 작업일 수 있으므로(예: 이 검색에 대한 stat() 호출 오버헤드가 있을 수 있음) 경로 기반 파인더는 경로 항목 파인더에 대한 캐시 매핑 경로 항목을 유지 관리합니다. 이 캐시는 sys.path_importer_cache에서 유지됩니다(이름에도 불구하고 이 캐시는 실제로 가져오기 개체로 제한되는 대신 파인더 개체를 저장합니다).