Topic 1: 모듈과 import 이해하기 📦
🎯 학습 목표
파이썬 모듈의 개념을 이해하고 import를 사용하는 방법을 배워요!
- 모듈이 무엇인지 이해하기
- import의 다양한 방법 익히기
- 모듈 사용의 장점 알아보기
🧩 모듈이란?
**모듈(Module)**은 파이썬 코드를 담고 있는 파일이에요. 마치 레고 블록처럼 필요한 기능을 가져다 쓸 수 있어요!
# 이미 우리가 사용해본 모듈
import random
# random 모듈의 기능 사용
number = random.randint(1, 10)
print(f"랜덤 숫자: {number}")
📥 import의 다양한 방법
1. 기본 import
# 모듈 전체 가져오기
import math
# 모듈명.함수명으로 사용
result = math.sqrt(16)
print(f"16의 제곱근: {result}") # 4.0
2. from import로 특정 기능만
# 특정 함수만 가져오기
from math import sqrt, pi
# 모듈명 없이 바로 사용
print(f"25의 제곱근: {sqrt(25)}") # 5.0
print(f"원주율: {pi}") # 3.141592...
3. 별칭(alias) 사용하기
# 긴 이름의 모듈에 별칭 붙이기
import datetime as dt
# 짧은 이름으로 사용
today = dt.datetime.now()
print(f"오늘 날짜: {today}")
4. 모든 것 가져오기 (주의해서 사용!)
# 모듈의 모든 기능 가져오기
from math import *
# 모든 함수를 바로 사용 가능
print(sin(0)) # 0.0
print(cos(0)) # 1.0
⚠️ import *
는 이름 충돌이 생길 수 있어서 주의해야 해요!
🌟 왜 모듈을 사용할까?
1. 코드 재사용
# 한 번 만든 기능을 여러 곳에서 사용
import random
# 주사위 게임
dice1 = random.randint(1, 6)
dice2 = random.randint(1, 6)
print(f"주사위: {dice1}, {dice2}")
# 가위바위보 게임
choices = ["가위", "바위", "보"]
computer = random.choice(choices)
print(f"컴퓨터의 선택: {computer}")
2. 코드 정리
# 기능별로 분리해서 관리
import os # 파일 시스템 관련
import json # JSON 데이터 관련
import csv # CSV 파일 관련
# 각 모듈의 기능을 필요할 때 사용
3. 전문가가 만든 코드 활용
# 복잡한 수학 계산도 쉽게!
import math
# 팩토리얼 계산
print(f"5! = {math.factorial(5)}") # 120
# 최대공약수 구하기
print(f"12와 18의 최대공약수: {math.gcd(12, 18)}") # 6
💡 실용적인 예제
로또 번호 생성기
import random
def generate_lotto():
"""로또 번호 6개를 생성하는 함수"""
# 1부터 45까지의 숫자 중 6개 선택
numbers = random.sample(range(1, 46), 6)
# 오름차순 정렬
numbers.sort()
return numbers
# 로또 번호 생성
my_numbers = generate_lotto()
print(f"이번 주 로또 번호: {my_numbers}")
# 여러 게임 생성
print("\n5게임 자동 선택:")
for i in range(5):
print(f"게임 {i+1}: {generate_lotto()}")
비밀번호 생성기
import random
import string
def create_password(length=8):
"""안전한 비밀번호를 생성하는 함수"""
# 사용할 문자들
characters = string.ascii_letters + string.digits + string.punctuation
# 랜덤하게 선택
password = ''.join(random.choice(characters) for _ in range(length))
return password
# 비밀번호 생성
print("새 비밀번호:", create_password())
print("더 긴 비밀번호:", create_password(12))
# string 모듈의 편리한 상수들
print(f"\n영문 소문자: {string.ascii_lowercase}")
print(f"영문 대문자: {string.ascii_uppercase}")
print(f"숫자: {string.digits}")
💡 퀴즈: 모듈 이해도 체크
Q1. 다음 중 올바른 import 방법은?
import math.sqrt
from math import sqrt
import sqrt from math
math import sqrt
💡 정답 확인
정답: 2번
from math import sqrt
가 올바른 문법이에요- 1번은 모듈 전체를 가져올 때만 가능
- 3, 4번은 잘못된 문법
Q2. import한 모듈에 별칭을 주는 방법은?
# datetime 모듈을 dt라는 이름으로 사용하려면?
💡 정답 확인
정답: import datetime as dt
as
키워드를 사용해서 별칭을 만들 수 있어요!
import datetime as dt
import pandas as pd # 데이터 분석할 때 자주 사용
import numpy as np # 수치 계산할 때 자주 사용
✅ 모듈과 import 마스터 체크리스트
✅ 모듈과 import 마스터 체크리스트
🚀 다음 단계
모듈의 기본을 이해했나요? 이제 파이썬에서 자주 사용하는 유용한 내장 모듈들을 배워볼게요!
Last updated on