반응형
__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 |
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬의 가장 대표적인 패키지들 (0) | 2021.06.29 |
---|---|
[Python] 스탠다드 라이브러리 vs 외부 라이브러리 (0) | 2021.06.28 |
[Python]패키지(Package) (0) | 2021.06.24 |
[Python]스크립트와 모듈 정리 (0) | 2021.06.21 |
[Python]유용한 스탠다드 모듈들 (0) | 2021.06.20 |