[파이썬] 패키지의 init.py 파일

__init__.py 파일은 Python 패키지의 중요한 파일 중 하나입니다. 이 파일은 해당 디렉토리가 Python 패키지로서 인식되도록 하는 역할을 합니다. 이 파일은 패키지 내에 포함된 모듈들을 초기화하고 패키지 수준의 설정 및 동작을 정의하는 데 사용될 수 있습니다.

패키지란?

패키지는 여러 개의 모듈을 포함하는 디렉토리로 구성된 Python 모듈의 집합입니다. 패키지를 사용하면 코드를 구성하고 구조화할 수 있으며, 모듈을 조직적으로 관리할 수 있습니다.

__init__.py 파일의 역할

__init__.py 파일은 패키지의 초기화 코드와 매개 변수를 설정하는 것 외에도 다음과 같은 역할을 수행할 수 있습니다.

  1. 패키지의 초기화: __init__.py 파일은 패키지가 import될 때 실행됩니다. 이를 통해 패키지 수준의 초기화 작업을 수행할 수 있습니다.
  2. 모듈 노출: __init__.py 파일은 패키지의 사용자가 import할 수 있는 모듈을 정의하는 역할을 합니다. 만약 __init__.py 파일에서 __all__ 변수를 정의해 해당 패키지에 있는 모든 모듈을 공개로 설정하면, 해당 패키지에서 정의된 모든 모듈에 직접 접근할 수 있습니다.
  3. 패키지 설정: __init__.py 파일은 패키지 수준의 설정을 정의하는 데 사용될 수 있습니다. 예를 들어, 패키지가 의존성을 가지는 경우 요구되는 패키지를 임포트하고 설정할 수 있습니다.

예시

다음은 패키지의 __init__.py 파일의 예시입니다.

# 패키지 수준의 초기화 작업을 수행합니다.
print("패키지 초기화 작업을 수행합니다.")

# 사용자에게 노출된 모듈들을 정의합니다.
__all__ = ['module1', 'module2']

# 패키지 설정을 정의합니다.
version = "1.0"

# 패키지 의존성을 설정합니다.
import dependency
dependency.setup()

위의 예시에서는 패키지의 초기화 작업을 수행하고, module1module2 모듈을 사용자에게 노출시키기 위해 __all__ 변수를 정의합니다. 또한 패키지 버전을 설정하고 의존성 패키지를 임포트하여 설정하는 부분도 포함되어 있습니다.

__init__.py 파일은 패키지의 중요한 역할을 수행하기 때문에, 패키지를 구성할 때 항상 이 파일을 포함시켜야 합니다. 이렇게 함으로써 코드의 구조를 명확하게 정의하고 패키지를 잘 관리할 수 있습니다.