새소식

반응형
250x250
Python

__init__.py 역할

  • -
728x90
반응형

파이썬 패키지란

파이썬 패키지란 간단하게 파이썬 모듈들의 집합체라고 할 수 있습니다.

파이썬 모듈이란 파이썬 파일을 말한다.

이러한 파이썬 패키지를 만드는데 사용하는게 __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 가

가능해지도록 변경됐다.

728x90
반응형

'Python' 카테고리의 다른 글

__name__ = "__main__"  (0) 2021.12.01
Class, Object, __init__, __init__(self)  (0) 2021.11.29
Venv 란  (0) 2021.11.24
클래스(Class), 객체(Object)  (0) 2021.10.02
함수(Function)  (0) 2021.10.02
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.