📚 Chapter 7-40. 모듈 만들기
✅ 1. 모듈이란?
- 모듈은 여러 변수, 함수, 클래스 등을 포함한 코드의 집합입니다.
- 다른 파이썬 프로그램에서 import를 통해 사용할 수 있습니다.
- 모듈을 사용하면 코드의 재사용성과 가독성이 좋아지며, 유지보수도 쉬워집니다.
📌 예시:
- 인공지능 분야: TensorFlow, scikit-learn
- 웹 개발 분야: Django, FastAPI
✅ 2. 모듈 생성 실습
📂 폴더 구조
project/
├── oz_module.py # 모듈 파일
└── oz.py # 모듈을 임포트하여 사용하는 파일
📄 1) oz_module.py
- 원의 둘레와 넓이를 구하는 함수들을 정의해 보겠습니다.
# oz_module.py
# 원주율 값을 변수 p1에 저장합니다.
p1 = 3.141592
# 사용자로부터 반지름을 입력받는 함수
def number_input():
value = input("반지름을 입력해주세요: ")
return float(value)
# 반지름을 입력받아 원의 둘레를 계산하는 함수
def get_circum(radius):
return 2 * p1 * radius
# 반지름을 입력받아 원의 넓이를 계산하는 함수
def get_circle(radius):
return p1 * radius * radius
📄 2) oz.py
- oz_module을 임포트하여 활용해봅니다.
# oz.py
# oz_module을 oz라는 별칭으로 임포트합니다.
import oz_module as oz
# 사용자로부터 반지름을 입력받습니다.
radius = oz.number_input()
# 원의 둘레를 출력합니다.
print("원의 둘레:", oz.get_circum(radius))
# 원의 넓이를 출력합니다.
print("원의 넓이:", oz.get_circle(radius))
✅ 📈 출력 예시
반지름을 입력해주세요: 5
원의 둘레: 31.41592
원의 넓이: 78.5398
✅ 3. 모듈의 장점
- 재사용성: 한 번 작성한 코드를 여러 곳에서 재사용할 수 있습니다.
- 가독성: 코드가 잘 정리되어 있어 읽기 쉽습니다.
- 유지보수 용이: 수정이 필요한 부분만 모듈에서 수정하면 됩니다.
- 네임스페이스 관리: 별칭을 통해 네임스페이스 충돌을 방지할 수 있습니다.
✅ 4. 모듈 임포트 방법
방법 사용 예시 설명
import module | import math | 모듈 전체를 임포트합니다. |
from module import func | from math import sin | 모듈에서 특정 함수만 임포트합니다. |
import module as alias | import math as m | 모듈을 짧은 별칭으로 임포트합니다. |
from module import * | from math import * | 모듈 내 모든 요소를 임포트합니다. (권장하지 않음) |
✅ 5. 이해도 체크리스트
⚠️ 아래 문제를 통해 학습한 내용을 점검해보세요!
1️⃣ 다음 중 파이썬 모듈에 대한 설명으로 옳지 않은 것은?
-
- 파이썬 모듈은 여러 변수, 함수, 클래스 등을 포함할 수 있다.
-
- 모듈을 사용하면 코드의 가독성이 좋아지고 유지보수가 쉬워진다.
-
- 파이썬 모듈은 항상 표준 라이브러리에 포함되어 있어야 한다.
-
- 다른 파이썬 프로그램에서 모듈을 임포트하여 사용할 수 있다.
정답: 3
- 파이썬 모듈은 표준 라이브러리뿐만 아니라, 사용자가 직접 만든 모듈도 가능합니다.
2️⃣ 다음 중 파이썬 모듈을 올바르게 임포트하고 사용하는 방법은?
-
- import math
-
- from math import sin
-
- import math as m
-
- import sin from math
-
- from math import *
정답: 1, 2, 3, 5
- import sin from math는 잘못된 문법입니다. from math import sin이 올바른 방식입니다.
📢 TIP:
- 모듈을 잘 활용하면 코드의 효율성을 극대화할 수 있습니다.
- 큰 프로젝트에서는 모듈화를 통해 코드를 깔끔하게 유지하세요! 🚀
'Python' 카테고리의 다른 글
PYTHON - 특강노트 (2025-03-14) (0) | 2025.03.14 |
---|---|
PYTHON - 예외처리와 모듈 (Chapter 7-41. 패키지) (0) | 2025.03.14 |
PYTHON - 예외처리와 모듈 (Chapter 7-39. 함수 데코레이터) (0) | 2025.03.14 |
PYTHON - 예외처리와 모듈 (Chapter 7-38. 외부모듈) (0) | 2025.03.14 |
PYTHON - 예외처리와 모듈 (Chapter 7-37. 표준모듈) (0) | 2025.03.14 |