반응형

__init__파일

 

__init__ 파일이란?

__init__.py 파일은 '이 폴더는 파이썬 패키지이다'라고 말해주는 파일입니다.

 

파이썬 3.3이전 버전에서는 init 파일이 필수였습니다.

 

디렉토리 안에 init 파일이 없으면 디렉토리가 패키지로 인식되지 않아서 패키지를 임포트할 수 없었습니다.

 

파이썬 3.3 이후 버전부터 init 파일이 필수가 아니게 됐지만

파이썬 하위 버전과의 호환성과 패키지의 명확성을 위해 항상 패키지 안에 init 파일을 만들어 주는 것을 권장합니다.

 

__init__ 파일 활용하기

__init__ 파일에서 임포트 사용하기

패키지를 임포트하면 기본적으로 패키지 안에 있는 내용은 임포트되지 않습니다.

패키지를 임포트할 때, 패키지 안에 있는 내용도 함께 임포트하고 싶다면 init파일을 활용해야 합니다.

 

__init__ 파일에서 변수 정의하기

상수값이 여러 모듈에서 쓰이는 것들을 각 모듈에서 정의하지 않고 패키지 안에서 한번만 정의해주는 것이 좋습니다.

똑같은 걸 여러 번 정의하는 건 비효율적이고 실수로 하나를 잘 못 정의하면 프로그램에 오류가 나기 때문입니다.

패키지 안에서 한번만 정의해 주려면 __init__.py에서 정의해주면 됩니다.

 

여러 모듈에서 필요한 변수, 함수 또는 객체는 패키지의 __init__.py에서 정의해주는 것이 좋습니다.

그리고 패키지의 __init__.py 파일에서 정의되는 것들은 패키지 밖에서도 사용할 수 잇습니다.

# PI 직접 임포트
from shapes import PI


패키지 임포트 후 shapes. 으로 접근
import shapes

shapes.PI

 

반응형

+ Recent posts