karma( 업 )/Python

__init__.py? __all__? 패키지?

생짜 2019. 10. 25. 19:03

__init__.py 파일은 해당 디렉터리, __init__.py 파일이 포함되어 있는 폴더가 패키지의 일부임을 알려주는 역할을 한다.

패키지에 포함되어 있는(하부 디렉터리) 폴더에 __init__.py가 없다면 패키지로 인식되지 않는다.

 

__init__.py

  • 해당 디렉터리가 패키지의 일부임을 알려주는 역할
  • 디렉터리내에 __init__.py가 없다면 패키지로인식하지 않음
  • __init__.py 파일 안에는 해당 디렉터리에서 공통으로 적용 가능한 기능이나 모듈을 포함할 수 있다.

 

__all__

패키지 안에서 'import *' 로 사용하고 싶다면 __init__.py 파일 안의 __all__ 변수에 * 로 선언할 때 호출할 모듈들을 선언해줘야 한다.

선언 방법은 아래와 같다.

__all__ = ['포함될 모듈 네임', '포함될 모듈 네임', '포함된 모듈 네임', ...]