📘 모듈이란?
- 하나의 파이썬 파일이 하나의 모듈이 됨(
.py)
- 파일 안에 함수나 변수를 정의해놓고, 다른 파일에서 이를 가져와(
import) 사용
def add(a, b):
return a + b
def sub(a, b):
return a - b
PI = 3.141592
🔎 모듈 불러오기(import)
- 모듈을 사용하기 위해서는
import 키워드를 사용
1. 모듈 사용
import exmodule
result = exmodule.add(3, 5)
print(result)
print(exmodule.PI)
2. 특정 함수나 변수만 가져오기
- 모듈 전체가 아닌 특정 함수나 변수만 가져오고 싶다면
from 구문을 사용
from exmodule import add, PI
print(add(10, 20))
print(PI)
3. 모듈 이름에 별칭(alias) 사용하기
- 모듈 이름이 길거나 더 짧은 이름으로 사용하고 싶다면
import 모듈명 as 별칭
import exmodule as em
from exmodule import add as plus
print(em.add(2, 2))
🔎 파이썬 표준 라이브러리(내장 모듈) 사용하기
- 파이썬은 매우 풍부한 표준 라이브러리를 제공
- 별도 설치없이 다양한 기능의 모듈을 사용할 수 있음
import math
print(math.sqrt(16))
print(math.sin(math.pi/2))
import random
print(random.randint(1, 10))
from datetime import datetime
now = datetime.now()
print(now)
🔎 외부 모듈(서드 파티 라이브러리) 설치 및 사용하기
- 표준 라이브러리 외에 다른 개발자가 만들어 배포한 외부 모듈을 설치하여 사용할 수도 있음
pip을 통해 쉽게 설치 가능
# 터미널(명령 프롬프트)에서 실행
pip install pandas
import pandas as pd
data = {
"name": ["Alice", "Bob", "Charlie", "David", "Eva"],
"age": [25, 32, 18, 47, 29],
"city": ["Seoul", "Busan", "Incheon", "Daegu", "Seoul"],
"score": [85, 92, 78, 64, 90]
}
df = pd.DataFrame(data)
print(df)
🔎 모듈 검색 경로
- 파이썬이 모듈을 찾는 순서
1. 현재 스크립트가 위치한 디렉토리
2. PYTHONPATH 환경 변수를 통해 설정된 경로
3. 파이썬이 설치된 site-packages 디렉토리 (외부 라이브러리)
4. 파이썬 표준 라이브러리가 있는 디렉토리
- 모듈이 해당 경로 중 어디에도 없으면 ModuleNotFoundError 발생
🔎 패키지(Package)와 모듈
- 모듈이 하나의
.py 파일이라면, 패키지는 모듈을 모아놓은 디렉토리
- 패키지는 모듈들을 계층적으로 관리하기 위해 사용
__init__.py 파일을 포함한 디렉토리를 하나의 패키지로 인식
- 패키지를 사용하면 코드 구조를 더 체계적으로 관리할 수 있음
mypackage/
__init__.py
exmodule.py
utils.py
import mypackage.exmodule
from mypackage import utils
❗ 모듈 작성 시 주의할 점
- 의미있는 이름으로 짓기
- 최소한의 기능 단위로 분리
⚙️ 모듈 작성 팁
▪`if name == "main":
- 파이썬에서 하나의
.py 파일은 직접 실행될 수도 있고, 다른 파일에서 import 되어 모듈로 사용될 수도 있음
- 파일이 모듈로 사용될 때와, 직접 실행될 때를 구분하기 위해 사용
def add(a, b):
return a + b
def sub(a, b):
return a - b
if __name__ == "__main__":
print(add(1, 2))
print(sub(5, 3))