내가 할 때마다 from 'x' import 'y'
은 '모듈'로 간주되는 패키지와 '패키지'인 패키지가 궁금 해서요. 다른 이유는 무엇입니까?모듈 대 패키지?
답변
x는 패키지 또는 모듈 일 수 있으며 y는 해당 모듈/패키지 내부의 내용입니다.
모듈은 .py 파일이고 패키지는 __init__.py
파일이있는 폴더입니다. 패키지를 모듈로 가져 오면 __init__.py
모듈의 내용을 가져옵니다.
패키지는'__init __. py' 파일을 반드시 가질 필요는 없으며, 모듈은 반드시'.py' 파일 일 필요는 없습니다. – wim
파이썬 3과 모듈에서'__init __. py' 파일을 필요로하지 않습니다. 왜냐하면 임포트 훅이 발명 되었기 때문일 것입니다. 그러나 위의 규칙은 예외입니다. 상기 시간의 99 %. – geckos
설명 해 주셔서 감사합니다! 도움이됩니다! – SpaceCadet
파이썬 모듈은 단순히 클래스, 함수 및 전역 변수를 노출 할 수있는 파이썬 소스 파일입니다.
다른 파이썬 소스 파일에서 가져올 때 파일 이름은 네임 스페이스로 취급됩니다.
파이썬 패키지는 단순히 파이썬 모듈의 디렉토리입니다.
예를 들어, /usr/lib/python/site-packages
에서 다음 디렉토리 트리를 상상 :
mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py
을 그럼 당신이 할 것 :
import mypackage.mymodule
또는
from mypackage.mymodule import myclass
패키지 모듈 및 기타 서브 패키지의 컨테이너 . 귀하의 예제에서'x'는 패키지이고'y'는 모듈입니다. 쇼핑 가방에서 사과를 가져 오는 것과 비슷합니다. 다른 방법은 아닙니다. –