Python

PYTHON - 예외처리와 모듈 (Chapter 7-40. 모듈 만들기)

Chansman 2025. 3. 14. 15:27

📚 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. 모듈의 장점

  1. 재사용성: 한 번 작성한 코드를 여러 곳에서 재사용할 수 있습니다.
  2. 가독성: 코드가 잘 정리되어 있어 읽기 쉽습니다.
  3. 유지보수 용이: 수정이 필요한 부분만 모듈에서 수정하면 됩니다.
  4. 네임스페이스 관리: 별칭을 통해 네임스페이스 충돌을 방지할 수 있습니다.

✅ 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️⃣ 다음 중 파이썬 모듈에 대한 설명으로 옳지 않은 것은?

    1. 파이썬 모듈은 여러 변수, 함수, 클래스 등을 포함할 수 있다.
    1. 모듈을 사용하면 코드의 가독성이 좋아지고 유지보수가 쉬워진다.
    1. 파이썬 모듈은 항상 표준 라이브러리에 포함되어 있어야 한다.
    1. 다른 파이썬 프로그램에서 모듈을 임포트하여 사용할 수 있다.

정답: 3

  • 파이썬 모듈은 표준 라이브러리뿐만 아니라, 사용자가 직접 만든 모듈도 가능합니다.

2️⃣ 다음 중 파이썬 모듈을 올바르게 임포트하고 사용하는 방법은?

    1. import math
    1. from math import sin
    1. import math as m
    1. import sin from math
    1. from math import *

정답: 1, 2, 3, 5

  • import sin from math는 잘못된 문법입니다. from math import sin이 올바른 방식입니다.

📢 TIP:

  • 모듈을 잘 활용하면 코드의 효율성을 극대화할 수 있습니다.
  • 큰 프로젝트에서는 모듈화를 통해 코드를 깔끔하게 유지하세요! 🚀