파이썬 패키지란
파이썬 패키지란 간단하게 파이썬 모듈들의 집합체라고 할 수 있습니다.
파이썬 모듈이란 파이썬 파일을 말한다.
이러한 파이썬 패키지를 만드는데 사용하는게 __init__.py 이다.
예를 들어
총 3개의 파이썬 파일(파이썬 모듈)이 있다.
- 프로젝트 구조
pythonProject
l__example.py
l__stringLength.py
l__stringToLower.py
l__stringToUpper.py
#stringLength.py
def stringLength(inStr):
return len(inStr)
#stringToUpper.py
def stringToUpper(inStr):
return inStr.upper()
#stringToLower.py
def stringToLower(inStr):
return inStr.lower()
위 내용을 __init__.py 패키지 파일을 사용하지 않고 example.py 라는 파일에 import 하여 사용해본다.
#example.py
import stringToLower
import stringToUpper
import stringLength
test_string = "Hello, World!"
print(stringLength.stringLength(test_string))
print(stringToUpper.stringToUpper(test_string))
print(stringToLower.stringToLower(test_string))
#결과
이제는 __init__.py 패키지 파일을 사용하여 모듈들을 묶어서 사용해보겠습니다.
프로젝트 구조
pythonProject
l__initPackage
l__ __init__.py
l__ stringLength.py
l__ stringToLower.py
l__ stringToUpper.py
l__ example2.py
#__init__.py
from .stringLength import stringLength
from .stringToUpper import stringToUpper
from .stringToLower import stringToLower
#example2.py
import initPackage
test_str = "Hello, World"
print(initPackage.stringLength(test_str))
print(initPackage.stringToLower(test_str))
print(initPackage.stringToUpper(test_str))
패키지 파일을 사용하니 엄청 깔끔해졌다.
__init__.py 패키지 파일에서 from 이름 앞에 . 을 붙이는 이유는 파이썬 3버전에서 relative import 가
가능해지도록 변경됐다.