Python(파이썬) 초보자 강의 4편: 함수와 모듈 쉽게 배우기! 🎯
안녕하세요, 여러분! 😊 지난 3편에서는 Python의 다양한 자료형과 리스트에 대해 알아보았는데요. 잘 이해하셨나요? 오늘은 Python에서 가장 중요한 개념 중 하나인 '함수'와 '모듈'에 대해 배워볼 거예요! 🚀 함수는 마치 계산기의 버튼처럼 특정 작업을 수행하는 도구이고, 모듈은 여러 함수들을 모아둔 도구상자 같은 거예요. 걱정 마세요! 이번에도 실생활의 예시를 통해 쉽게 설명해드릴 테니까요. 중학생 여러분도 충분히 이해할 수 있을 거예요! 😊
1. 함수란 무엇일까요?
여러분은 매일 아침 학교에 가기 위해 '등교 준비'를 하죠? 씻고, 옷 입고, 가방 챙기는 등 여러 가지 일을 순서대로 하게 됩니다. Python의 '함수'도 이와 비슷해요! 자주 사용하는 동작들을 하나로 묶어서 이름을 붙여두는 거예요. 😊
함수의 특징 | 실생활 비유 |
---|---|
입력값(Parameters) | 레시피에 들어가는 재료 |
처리과정 | 요리하는 방법 |
반환값(Return) | 완성된 요리 |
2
3
4
5
6
7
8
# 간단한 덧셈 함수
def add_numbers(a, b): # 함수 이름과 입력값
result = a + b # 처리과정
return result # 결과 반환
# 함수 사용하기
sum = add_numbers(5, 3) # 5 + 3 = 8
print(sum) # 8이 출력됩니다
2. 나만의 함수 만들기
이제 우리만의 함수를 만들어볼까요? 함수를 만들 때는 'def'라는 키워드를 사용해요. 마치 새로운 도구를 만드는 것처럼, 우리가 원하는 기능을 가진 함수를 직접 만들 수 있답니다! 🛠
2
3
4
5
6
7
8
9
10
# 인사 함수 만들기
def greet_friend(name, time="낮"):
if time == "아침":
return f"좋은 아침이에요, {name}님!"
elif time == "저녁":
return f"좋은 저녁이에요, {name}님!"
else:
return f"안녕하세요, {name}님!"
# 함수 사용해보기
print(greet_friend("영희", "아침")) # 좋은 아침이에요, 영희님!
print(greet_friend("철수")) # 안녕하세요, 철수님!
✨ 함수 만들기 꿀팁!
- 함수 이름은 그 기능을 잘 설명하도록 지어주세요
- 하나의 함수는 하나의 작업만 하도록 만들어요
- 입력값의 기본값을 설정할 수 있어요(위 예제의 time="낮"처럼)
- 들여쓰기를 잊지 마세요! 함수 내부는 모두 들여쓰기가 되어있어야 해요
🎮 직접 해보기
다음과 같은 함수를 만들어보세요:
2
3
4
5
6
7
8
# 학생의 점수를 받아서 학점을 반환하는 함수
def get_grade(score):
# 여기에 코드를 작성해보세요!
pass
# 테스트
print(get_grade(95)) # "A"가 출력되어야 해요
print(get_grade(85)) # "B"가 출력되어야 해요
print(get_grade(75)) # "C"가 출력되어야 해요
3. Python 내장 함수 활용하기
스마트폰을 살 때 기본적으로 설치되어 있는 앱들이 있죠? Python도 마찬가지로 기본으로 제공되는 함수들이 있어요. 이런 함수들을 '내장 함수'라고 하는데, 우리가 자주 사용했던 print()도 내장 함수 중 하나랍니다! 😊
내장 함수 | 설명 | 예시 |
---|---|---|
len() | 길이를 알려줘요 | len([1, 2, 3]) → 3 |
max() | 가장 큰 값을 찾아요 | max(1, 5, 3) → 5 |
min() | 가장 작은 값을 찾아요 | min(1, 5, 3) → 1 |
sum() | 모든 값을 더해요 | sum([1, 2, 3]) → 6 |
2
3
4
5
6
7
8
9
10
# 시험 점수 분석하기
scores = [85, 92, 78, 90, 87]
# 학생 수 구하기
print(f"총 학생 수: {len(scores)}명") # 5명
# 최고 점수와 최저 점수
print(f"최고 점수: {max(scores)}점") # 92점
print(f"최저 점수: {min(scores)}점") # 78점
# 평균 점수 계산하기
average = sum(scores) / len(scores)
print(f"평균 점수: {average}점") # 86.4점
4. 모듈 사용법 배우기
모듈은 여러 가지 함수들을 모아놓은 파일이에요. 마치 필통 안에 여러 필기구가 있는 것처럼, 모듈 안에는 관련된 기능을 하는 함수들이 모여있답니다. 예를 들어, 수학 계산을 위한 math 모듈, 랜덤 값을 생성하는 random 모듈 등이 있어요! 📚
2
3
4
5
6
7
8
9
10
11
12
# math 모듈 불러오기
import math
# 원의 넓이 계산하기
radius = 5
area = math.pi * radius ** 2
print(f"반지름이 {radius}인 원의 넓이: {area:.2f}")
# random 모듈 불러오기
import random
# 1부터 100까지 중 랜덤한 숫자 뽑기
lucky_number = random.randint(1, 100)
print(f"행운의 숫자: {lucky_number}")
🎯 자주 사용하는 모듈
- math: 수학 계산에 필요한 함수들이 있어요
- random: 무작위 값을 생성할 때 사용해요
- datetime: 날짜와 시간을 다룰 때 사용해요
- os: 파일이나 폴더를 다룰 때 사용해요
✨ 꿀팁: 모듈은 'import' 키워드로 불러와서 사용해요. from과 import를 함께 사용하면 모듈의 특정 함수만 가져올 수도 있답니다!
5. 미니 게임 만들기
이제 우리가 배운 내용을 모두 활용해서 간단한 게임을 만들어볼까요? 컴퓨터가 생각한 숫자를 맞히는 '숫자 맞히기 게임'을 만들어볼 거예요. random 모듈로 무작위 숫자를 만들고, 함수로 게임의 규칙을 구현해볼게요! 🎮
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import random
def number_game():
# 1부터 100 사이의 랜덤한 숫자를 선택
secret_number = random.randint(1, 100)
attempts = 0
max_attempts = 10
print("1부터 100 사이의 숫자를 맞혀보세요!")
while attempts < max_attempts:
try:
# 사용자의 입력을 받음
guess = int(input(f"숫자를 입력하세요 (남은 기회: {max_attempts - attempts}): "))
attempts += 1
if guess == secret_number:
print(f"축하합니다! {attempts}번 만에 숫자를 맞혔어요! 🎉")
return True
elif guess < secret_number:
print("더 큰 숫자를 입력해보세요! ⬆️")
else:
print("더 작은 숫자를 입력해보세요! ⬇️")
except ValueError:
print("올바른 숫자를 입력해주세요!")
attempts += 1
print(f"게임 오버! 정답은 {secret_number}였어요! 😅")
return False
# 게임 시작
number_game()
🎯 게임 코드 설명
- random.randint()로 무작위 숫자를 생성해요
- while 반복문으로 게임을 계속 진행해요
- input() 함수로 사용자의 입력을 받아요
- try-except로 잘못된 입력을 처리해요
🌟 게임 발전시키기
위의 게임을 더 재미있게 만들어볼까요? 다음 기능들을 추가해보세요:
2
3
4
5
6
# 1. 난이도 선택 기능 추가하기
# 2. 최고 기록 저장하기
# 3. 게임 재시작 기능 추가하기
# 4. 힌트 기능 추가하기
# 5. 점수 계산 기능 추가하기
# 6. 멀티플레이어 모드 만들기
🎮 도전 과제: 이 게임에 "힌트 기능"을 추가해보세요! 남은 기회를 1번 사용하면 "정답은 XX보다 크고 YY보다 작습니다"와 같은 힌트를 주는 기능을 만들어보세요!
6. 다음 편 미리보기
오늘은 Python의 함수와 모듈에 대해 알아보았어요! 😊 이제 여러분은 함수를 만들어 코드를 재사용할 수 있고, 다양한 모듈을 활용할 수 있게 되었어요. 심지어 간단한 게임도 만들어볼 수 있게 되었죠! 🎮 혹시 이해가 잘 안 되는 부분이 있다면 댓글로 남겨주세요. 자세히 설명해드릴게요! 그리고 숫자 맞히기 게임을 완성하신 분들은 어떤 기능을 추가했는지 댓글로 공유해주시면 좋겠어요!
✨ Python 초보자 강의 5편에서는 이런 내용을 다룰 예정이에요:
• 파일 읽고 쓰기
• 예외 처리 자세히 배우기
• 클래스와 객체 이해하기
• 간단한 메모장 프로그램 만들기
• 실전 프로젝트 따라하기
'developer > python' 카테고리의 다른 글
Python(파이썬) 초보자 강의 5편: 파일 다루기와 클래스 개념 마스터하기! 📂 (2) | 2025.03.05 |
---|---|
Python(파이썬) 초보자 강의 3편: 자료형과 리스트 쉽게 배우기! 🎯 (2) | 2025.02.22 |
Python(파이썬) 초보자 강의 2편: 설치 및 기초 문법 (0) | 2025.02.16 |
Python(파이썬) 초보자 강의 1편: 시작 준비와 활용 사례 (1) | 2025.02.16 |
파이썬의 흥미로운 역사와 간단한 문법으로 시작하는 프로그래밍! (1) | 2025.02.14 |