Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료
Python 프로그래밍Unit 5: 함수 완전 정복Topic 1: 함수 기본

Topic 1: 함수 기본 - 코드를 재사용하는 마법 🔮

🎯 학습 목표

함수의 기본 개념을 이해하고 def 키워드를 사용하여 간단한 함수를 정의하고 호출할 수 있습니다.

🤔 함수란?

일상생활의 함수

우리는 매일 함수와 같은 개념을 사용합니다:

  • “인사하기”: 만나면 “안녕하세요”라고 말하기
  • “라면 끓이기”: 물 끓이고, 면과 스프 넣고, 4분 기다리기
  • “계산하기”: 숫자들을 더하거나 빼기

이처럼 특정한 작업을 수행하는 명령어들의 묶음이 바로 함수입니다!

함수가 필요한 이유

# 함수 없이 인사하기 print("안녕하세요!") print("만나서 반갑습니다!") print() print("안녕하세요!") print("만나서 반갑습니다!") print() print("안녕하세요!") print("만나서 반갑습니다!") # 같은 코드를 계속 반복... 😅
# 함수를 사용하면 def 인사하기(): print("안녕하세요!") print("만나서 반갑습니다!") print() # 함수 호출 인사하기() 인사하기() 인사하기() # 간단하고 깔끔! 😊

함수의 장점:

  • 재사용: 한 번 만들면 계속 사용 가능
  • 간결: 코드가 짧아지고 읽기 쉬워짐
  • 수정 용이: 한 곳만 고치면 모든 곳에 적용

🏗️ 함수 만들기 - def

기본 문법

def 함수이름(): 실행할 코드 실행할 코드 ...

문법 요소 분석

def hello(): #↑ ↑ ↑ ↑ #def 함수명 () : print("안녕하세요!") #↑ #들여쓰기 (스페이스 4개)

중요한 규칙들:

  1. def 키워드로 시작
  2. 함수 이름 뒤에 괄호 ()
  3. 콜론 : 필수
  4. 함수 내용은 들여쓰기 (스페이스 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. 함수를 정의할 때 사용하는 키워드는?

  1. function
  2. def
  3. func
  4. define

💡 정답 확인

정답: 2번 (def)

파이썬에서 함수를 정의할 때는 def 키워드를 사용합니다.

Q2. 다음 코드의 출력 결과는?

def 출력(): print("Hello") print("World") 출력()
  1. Hello
  2. World
  3. Hello World
  4. Hello
    World

💡 정답 확인

정답: 4번

print() 함수는 각각 새로운 줄에 출력하므로 “Hello”와 “World”가 각각 다른 줄에 출력됩니다.

Q3. 함수를 호출할 때 빠뜨리기 쉬운 것은?

  1. 함수 이름
  2. 괄호 ()
  3. 콜론 :
  4. 들여쓰기

💡 정답 확인

정답: 2번 (괄호 ())

함수를 호출할 때는 함수 이름 뒤에 반드시 괄호 ()를 써야 합니다.

✅ 함수 기본 마스터 체크리스트

✅ 함수 기본 마스터 체크리스트

🚀 다음 단계

함수의 기본을 익혔으니, 이제 더 유용한 함수들을 만들어보겠습니다!

다음 토픽에서는:

  • 매개변수: 함수에 정보 전달하기
  • 인수: 함수 호출할 때 값 넣기
  • 개인화된 함수: 같은 함수로 다른 결과 만들기

예를 들어:

def 인사하기(이름): # 이름을 받아서 print(f"안녕하세요, {이름}님!") 인사하기("민지") # 안녕하세요, 민지님! 인사하기("준호") # 안녕하세요, 준호님!

함수가 한층 더 똑똑해집니다! 💫

Last updated on