Python - __init__.py

Enjoywater·2020년 8월 23일
0

TIL

목록 보기
5/33
post-thumbnail

__init__.py

해당 파일은 파이썬에서 package를 만들때 필요한 파일이다.
외부에서 package를 참조하는 시점에 해당 package의 __init__.py가 실행된다.

package directory에 __init__.py 파일이 없다면 package로 인식을 하지 못한다.

파이썬 3.3 이상에서는 인식을 하지만 하위 버전과 호환이 되도록 만드는것이 권장된다.

활용법

__init__.py의 내용은 비어있어도 정상적으로 작동하지만 내용을 추가하여 package를 편리하게 사용할 수 있다.

.
│─── calculator
│    ├── __init__.py
│    ├── add_and_multiply.py
│    └── multiplication.py
└─── main.py

위 구조에서 calculator package를 main.py에서 사용하려 할 때,

# main.py

# absoulte path
from calculator.add_and_multiply import add_and_multiply 

if __name__ == '__main__':
    print(add_and_multiply(1,2))

absolute path를 이용해서 add_and_mltiply를 가져와서 사용할 수 있다.
하지만 조금 더 간단히 사용하기위해 __init__.py파일에 코드를 추가할 수 있다.

# __init__.py

from .add_and_multiply import  add_and_multiply

__all__=["add_and_multiply"]

사용되려는 package속 __init__.py 파일에 사용될 module의 경로를 입력한 후,
__all__ = ["module name"]의 형식으로 입력을 한다.

이후에 다시 main.py의 경로를

# main.py

from calculator import *

if __name__ == '__main__':
    print(add_and_multiply(1,2))

간단한 형식으로 수정해주면 편리하게 사용할 수 있다.

profile
블로그 이전 👉🏻 enjoywater.tistory.com

0개의 댓글