Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 모듈과 파이썬 패키지의 차이점은 무엇입니까?

<시간/>

모든 Python 파일은 모듈이며, 그 이름은 .py 확장자가 없는 파일의 기본 이름/모듈의 __name__ 속성입니다. 패키지는 Python 모듈의 모음입니다. 즉, 패키지는 추가 __init__.py 파일을 포함하는 Python 모듈의 디렉토리입니다. __init__.py는 많은 Python 스크립트를 포함하는 디렉토리와 패키지를 구별합니다. 패키지는 해당 디렉토리에 자체 __init__.py 파일이 포함되어 있는 경우 모든 깊이에 중첩될 수 있습니다.

모듈이나 패키지를 가져올 때 Python에서 생성된 해당 객체는 항상 모듈 유형입니다. 이것은 모듈과 패키지 사이의 구별이 파일 시스템 수준에서만 있음을 의미합니다. 그러나 패키지를 가져올 때 해당 패키지의 __init__.py 파일에 있는 변수/함수/클래스만 직접 볼 수 있으며 하위 패키지나 모듈은 볼 수 없습니다.

예를 들어 datetime 모듈에는 date라는 하위 모듈이 있습니다. datetime을 가져올 때 가져오지 않습니다. 별도로 가져와야 합니다.

>>> import datetime
>>> date.today()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'date' is not defined
>>> from datetime import date
>>> date.today()
datetime.date(2017, 9, 1)