무엇을합니까. 파이썬의 import 문에서 의미하는 것은 무엇입니까?


141

파이썬 multiprocessing모듈 의 코드를 살펴보고 있으며 다음 줄이 포함되어 있습니다.

from ._multiprocessing import win32, Connection, PipeConnection

대신에

from _multiprocessing import win32, Connection, PipeConnection

미묘한 차이는 이전 기간 _multiprocessing입니다. 그게 무슨 뜻이야? 왜 시대?


3
상대 수입이라고합니다 : docs.python.org/tutorial/modules.html
Aillyn

이 없으면 주 스크립트 옆에 알 수없는 이유로 .파일이 있으면 중단됩니다. 를 사용하면 자체 모듈을 얻습니다. _multiprocessing.pymultiprocessing.
Chris Morgan

A는 경우 .피어 모듈을 의미, 왜 문서 말은을 사용하는 것이 .그 멀티 프로세싱 모듈은 일반 sys.path에 라이브러리의 일부가되어야 할 때? 질문과 Chris의 설명이 그것들을 혼합하거나 이해하지 못합니까? 도움을 주셔서 감사합니다.
rfii

답변:


120

이것이 명시 적 상대 가져 오기 의 새로운 구문입니다 . 현재 패키지에서 가져 오기를 의미합니다.


26
"현재 패키지"는 무엇을 정의합니까?
fraxture

7
가져 오기 패키지가있는 위치를 말해야 합니다 . 기본적으로 현재 네임 스페이스 또는 패키지 디렉토리를 의미합니다.
Keith

2
고마워요, 무슨 말인지 알 것 같아요. 분명하게, 예를 들어 주시겠습니까?
fraxture

11
: 당신은 같은 일을 할 수있다from . import peermodule from .. import parentpackagemodule
키스

2
@bmc 배우는 좋은 방법은 약간의 실험을 설정하고 직접 해보는 것입니다. ;-)
Keith

22

모듈 이름의 점은 상대 모듈 가져 오기에 사용됩니다 ( 여기여기 , 섹션 6.4.2 참조).

현재 패키지가 아니라 상위를 참조하여 둘 이상의 점을 사용할 수 있습니다. 이것은 패키지 내에서만 사용해야하며, 메인 모듈에서는 항상 절대 모듈 이름을 사용해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.