차밍이
[Python] 모듈 vs 스크립트 vs 패키지 차이점을 알아보자 본문
반응형
목차
What is Module ?
모듈은 여러 기능을 모아둔 파이썬 파일입니다.
사용할 함수들을 정의해 놓은 파일을 의미합니다.
예를 들어 우리는 평면도형의 면적을 구해 주는 함수들을 모아서 area
라는 모듈을 만들었습니다.
area.py
PI = 3.14
# 원의 면적을 구해 주는 함수
def circle(radius):
return PI * radius * radius
# 정사각형의 면적을 구해 주는 함수
def square(length):
return length * length
import area
등의 방식으로 import
해서 area
모듈의 circle
등의 함수를 사용할 수 있습니다.
What is Script ?
스크립트는 모듈에서 정의함 함수들을 사용하는 파일을 의미합니다.
run.py
import area
x = float(input('원의 지름을 입력해 주세요: '))
print('지름이 {}인 원의 면적은 {}입니다.\n'.format(x, area.circle(x)))
y = float(input('정사각형의 변의 길이를 입력해 주세요: '))
print('변의 길이가 {}인 정사각형의 면적은 {}입니다.'.format(y, area.square(y)))
실제로 함수들을 사용하는 코드는 run 파일에 있습니다. 이 파일을 실행시키면 프로그램이 작동합니다.
따라서 area 파일은 모듈이고 run 파일은 스크립트라고 할 수 있습니다.
What is Package ?
- 패키지는 모듈들을 모아 놓은 디렉토리를 의미
- 각 모듈들이 모두 모여있음
__init__
파일을 만들어줌, 필수는 아니지만 권장사항- 패키지만
import
하면 패키지 내부의 모듈들이 같이import
되지 않음 __init__
파일에서from 패키지 import 내부 모듈
등의 방법으로import
해줘야함- 패키지에서
import *
만 하면 먹히지 않고__all__
설정을 해줘야함 __all__
=['모듈명', '모듈명']
방식으로all
을 가져올 때, 어떤 것들이 되는지 설정- 내부 모듈에서 모두 사용되는 경우 상수의 경우는
__init__
에서 정의해 놓으면 좋음
파이썬 패키지에 대한 추가적인 내용들 : https://chancoding.tistory.com/206
파이썬 package 구성을 위한 __init__ 과 __all__ 구성하기 : https://chancoding.tistory.com/207
반응형
'파이썬 > 기본 문법 정리' 카테고리의 다른 글
[Python] Pandas 판다스는 과연 빠른가 ? 속도확인 value_counts, unique, drop_duplicates (0) | 2022.06.29 |
---|---|
[Python] 멀티 프로세싱 사용하기 - 멀티 프로세싱 적용을 위한 함수들 알아보자 (0) | 2022.06.08 |
[Python] 패키지 구성을 위해 __init__ 파일과 __all__에 대해 알아보자 (0) | 2022.06.06 |
[Python] 파이썬 패키지란? - package에 대한 설명 및 예시 (0) | 2022.06.05 |
[Python] Scatter Plot Animation - 영상 그래프 제작 (0) | 2022.04.21 |
[Python] 판다스 apply - 함수에 복수 인자 적용하기 (2) | 2022.03.02 |
[파이썬] %timeit으로 jupyter notebook에서 Cell 단위 코드 수행 시간 확인하기 (0) | 2022.02.28 |
[Python] 리스트 요소 곱하기, 배열 원소들끼리 곱하기 (1) | 2022.02.27 |
관련된 글 보기
Comments