Topic 1: 함수 기본 - 코드를 재사용하는 마법 🔮
🎯 학습 목표
함수의 기본 개념을 이해하고 def 키워드를 사용하여 간단한 함수를 정의하고 호출할 수 있습니다.
🤔 함수란?
일상생활의 함수
우리는 매일 함수와 같은 개념을 사용합니다:
- “인사하기”: 만나면 “안녕하세요”라고 말하기
- “라면 끓이기”: 물 끓이고, 면과 스프 넣고, 4분 기다리기
- “계산하기”: 숫자들을 더하거나 빼기
이처럼 특정한 작업을 수행하는 명령어들의 묶음이 바로 함수입니다!
함수가 필요한 이유
# 함수 없이 인사하기
print("안녕하세요!")
print("만나서 반갑습니다!")
print()
print("안녕하세요!")
print("만나서 반갑습니다!")
print()
print("안녕하세요!")
print("만나서 반갑습니다!")
# 같은 코드를 계속 반복... 😅
# 함수를 사용하면
def 인사하기():
print("안녕하세요!")
print("만나서 반갑습니다!")
print()
# 함수 호출
인사하기()
인사하기()
인사하기()
# 간단하고 깔끔! 😊
함수의 장점:
- 재사용: 한 번 만들면 계속 사용 가능
- 간결: 코드가 짧아지고 읽기 쉬워짐
- 수정 용이: 한 곳만 고치면 모든 곳에 적용
🏗️ 함수 만들기 - def
기본 문법
def 함수이름():
실행할 코드
실행할 코드
...
문법 요소 분석
def hello():
#↑ ↑ ↑ ↑
#def 함수명 () :
print("안녕하세요!")
#↑
#들여쓰기 (스페이스 4개)
중요한 규칙들:
def
키워드로 시작- 함수 이름 뒤에 괄호
()
- 콜론
:
필수 - 함수 내용은 들여쓰기 (스페이스 4개)
간단한 함수 예시
def 안녕하기():
print("안녕하세요!")
def 자기소개하기():
print("저는 파이썬을 배우고 있어요")
print("잘 부탁드려요!")
def 계산하기():
result = 2 + 3
print(f"2 + 3 = {result}")
💡 함수 이름 짓기 팁: 함수는 “어떤 동작을 하는 것”이므로, 동작을 나타내는 이름을 사용합니다:
- ✅
안녕하기()
- 안녕 인사를 하는 동작 - ✅
자기소개하기()
- 자기소개를 하는 동작 - ✅
계산하기()
- 계산을 하는 동작 - ❌
안녕()
,소개()
,계산()
- 명사라서 어색함
📞 함수 호출하기
함수 실행 방법
def 인사하기():
print("반가워요!")
# 함수 호출 - 괄호 필수!
인사하기() # 출력: 반가워요!
여러 번 호출하기
def 박수치기():
print("👏 짝짝짝!")
# 함수를 여러 번 호출
박수치기() # 👏 짝짝짝!
박수치기() # 👏 짝짝짝!
박수치기() # 👏 짝짝짝!
🎯 실용적인 함수 예시들
예시 1: 인사 함수
def 아침인사():
print("좋은 아침이에요! ☀️")
print("오늘도 화이팅!")
def 저녁인사():
print("오늘 하루 수고하셨어요! 🌙")
print("편안한 밤 되세요!")
# 함수 사용
아침인사()
print()
저녁인사()
예시 2: 간단한 계산 함수
def 더하기계산():
a = 10
b = 20
result = a + b
print(f"{a} + {b} = {result}")
def 곱하기계산():
x = 5
y = 7
result = x * y
print(f"{x} × {y} = {result}")
# 계산 실행
더하기계산() # 10 + 20 = 30
곱하기계산() # 5 × 7 = 35
예시 3: 정보 출력 함수
def 내정보출력():
print("=== 내 정보 ===")
print("이름: 파이썬 학습자")
print("나이: 17세")
print("취미: 프로그래밍")
print("좋아하는 과목: 정보")
def 오늘날씨보기():
print("=== 오늘 날씨 ===")
print("날씨: 맑음 ☀️")
print("기온: 25도")
print("습도: 60%")
# 정보 출력
내정보출력()
print()
오늘날씨보기()
예시 4: 간단한 메뉴 함수
def 점심메뉴출력():
print("🍚 오늘의 점심 메뉴")
print("- 김치찌개")
print("- 밥")
print("- 김치")
print("- 요거트")
def 저녁메뉴보기():
print("🍖 오늘의 저녁 메뉴")
print("- 불고기")
print("- 밥")
print("- 미역국")
print("- 과일")
# 메뉴 확인
점심메뉴출력()
print()
저녁메뉴보기()
💡 동작을 나타내는 함수명:
점심메뉴출력()
- 점심 메뉴를 출력하는 동작저녁메뉴보기()
- 저녁 메뉴를 보여주는 동작
🔤 함수 이름 규칙
좋은 함수 이름
# ✅ 명확하고 의미 있는 이름 (초보자 이해를 위한 한국어)
def 계산하기():
pass
def 화면출력하기():
pass
def 사용자입력받기():
pass
# ✅ 실제 개발에서는 영어 사용 (다음 토픽부터 사용)
def calculate():
pass
def show_message():
pass
def get_input():
pass
📌 중요한 안내:
- Topic 1에서는 이해를 돕기 위해 한국어 함수명을 사용합니다
- Topic 2부터는 실제 프로그래밍 관례에 따라 영어 함수명을 사용합니다
- 함수명은 항상 “동작”을 나타내야 합니다!
피해야 할 함수 이름
# ❌ 의미 없는 이름
def abc():
pass
def func1():
pass
def do_something():
pass
# ❌ 파이썬 키워드
def if(): # 오류!
pass
def for(): # 오류!
pass
🚨 자주 발생하는 오류
오류 1: 콜론 누락
# ❌ 틀린 예
def 안녕하기()
print("안녕!") # SyntaxError!
# ✅ 올바른 예
def 안녕하기():
print("안녕!")
오류 2: 들여쓰기 실수
# ❌ 틀린 예
def 계산하기():
print("계산 중...") # IndentationError!
# ✅ 올바른 예
def 계산하기():
print("계산 중...") # 스페이스 4개
오류 3: 괄호 누락
def 인사하기():
print("안녕하세요!")
# ❌ 틀린 예
인사하기 # 함수가 실행되지 않음
# ✅ 올바른 예
인사하기() # 함수 실행됨
오류 4: 함수 정의 전에 호출
# ❌ 틀린 예
안녕하기() # NameError!
def 안녕하기():
print("안녕!")
# ✅ 올바른 예
def 안녕하기():
print("안녕!")
안녕하기() # 정상 실행
💡 퀴즈: 함수 기본 이해도 체크
Q1. 함수를 정의할 때 사용하는 키워드는?
- function
- def
- func
- define
💡 정답 확인
정답: 2번 (def)
파이썬에서 함수를 정의할 때는 def
키워드를 사용합니다.
Q2. 다음 코드의 출력 결과는?
def 출력():
print("Hello")
print("World")
출력()
- Hello
- World
- Hello World
- Hello
World
💡 정답 확인
정답: 4번
print()
함수는 각각 새로운 줄에 출력하므로 “Hello”와 “World”가 각각 다른 줄에 출력됩니다.
Q3. 함수를 호출할 때 빠뜨리기 쉬운 것은?
- 함수 이름
- 괄호 ()
- 콜론 :
- 들여쓰기
💡 정답 확인
정답: 2번 (괄호 ())
함수를 호출할 때는 함수 이름 뒤에 반드시 괄호 ()
를 써야 합니다.
✅ 함수 기본 마스터 체크리스트
✅ 함수 기본 마스터 체크리스트
🚀 다음 단계
함수의 기본을 익혔으니, 이제 더 유용한 함수들을 만들어보겠습니다!
다음 토픽에서는:
- 매개변수: 함수에 정보 전달하기
- 인수: 함수 호출할 때 값 넣기
- 개인화된 함수: 같은 함수로 다른 결과 만들기
예를 들어:
def 인사하기(이름): # 이름을 받아서
print(f"안녕하세요, {이름}님!")
인사하기("민지") # 안녕하세요, 민지님!
인사하기("준호") # 안녕하세요, 준호님!
함수가 한층 더 똑똑해집니다! 💫
Last updated on