티스토리 뷰

모듈이란

필요한 코드들을 사용하기 쉽게 모아놓은 것
함수 정의나, 클래스 등의 파이썬 문장을 담고 있는것


패키지란

모듈들을 모아놓은 직합
하나의 디렉토리에 여러 모듈 파일들을 모아둔 것


모듈

calc_module.py

def sum(x, y):
    return x + y

def sub(x, y):
    return x - y

def mul(x, y):
    return x * y

def div(x, y):
    return x / y

#calc_module.py

 

calc.py

import calc_module as cal

print(cal.sum(5, 2))
print(cal.sub(5, 2))
print(cal.mul(5, 2))
print(cal.div(5, 2))

--출력 결과--
7
3
10
2.5


calc_module.py에서 계산에 관련된 함수들이 정의 되어 있습니다.
calc.py에서 calc_module.py를 import해서 필요한 코드들을 사용하는 예제입니다.


from 파일명 import *를 하면 모듈 내용을 그대로 쓸 수 있습니다.

from calc_module import *

print(sum(5, 2))
print(sub(5, 2))
print(mul(5, 2))
print(div(5, 2))



*은 전체를 의미합니다. * 대신에 필요한 부분만 지정해줄 수도 있습니다.

from calc_module import sum, sub

print(sum(5, 2))
print(sub(5, 2))

 

 

패키지

사용 예시 (package와 module은 각각의 이름에 따라 변경)

import package.module
from package import module
from package import *

위의 from package import *은 에러가 발생하게됩니다.
이유는 공개범위를 설정해주어야 합니다.
패키지 폴더안 __init__.py에서 공개할 모듈을 입력해주어야 합니다. (module은 모듈명을 의미)

__all__ = ["module", "module", ...]




해당 파일이 직접 실행되는지, 외부 파일로부터 실행되는지 확인하는 방법

if __name__ == "__main__":
	#code...
else:
	#code...

직접실행될 경우 True로 실행되며, 외부로 실행될 경우 False로 진행이 됩니다.

728x90

'Python' 카테고리의 다른 글

[파이썬] pip  (0) 2020.09.15
[파이썬] 패키지, 모듈 위치 찾기  (0) 2020.09.15
[파이썬] 사용자 정의 예외처리  (0) 2020.09.15
[파이썬] raise  (0) 2020.09.15
[파이썬] 예외처리 (try, except, finally)  (0) 2020.09.15
댓글
댓글쓰기 폼
공지사항