티스토리 뷰
목차
Python을 배우기 시작하면서 함수를 제대로 이해하는 것은 매우 중요합니다. 오랜 시간동안 여러 프로젝트에서 개발하면서 느낀점은 언어는 실전으로 배운다는 겁니다. 책으로만 배울게 아니라 직접 코딩을 하면서 실력이 많이 늘게됩니다. 그리고 개발은 언어에 따라서 개발하는게 많이 다르겠지만 함수는 모든 프로그램에서 빠지지 않고 사용하는 기능입니다. 개발자로서 말씀드리자면, 함수는 Python의 핵심 기능 중 하나입니다. 함수를 잘 활용하면 코드의 재사용성을 높이고, 프로그램의 구조를 개선할 수 있습니다. 이번 글에서는 Python 초보자분들이 함수를 충분히 이해하고 연습할 수 있도록 다양한 실습 예제들을 준비했습니다. 실습을 통해 함수를 자유자재로 다루는 개발자로 성장해보세요!
실습 1: 두 수를 더하는 함수
문제 설명:
두 개의 숫자를 입력받아 더한 값을 반환하는 함수 add를 작성하세요.
def add(a, b):
return a + b
# 함수 호출
result = add(5, 10)
print("더한 값:", result)
연습 포인트:
- 함수 정의 및 호출 방법
- 매개변수를 사용하여 두 값을 입력받고 처리하는 방법
실습 2: 사각형의 넓이를 계산하는 함수
문제 설명:
사각형의 가로(width)와 세로(height)를 입력받아 넓이를 계산하는 함수 rectangle_area를 작성하세요.
def rectangle_area(width, height):
return width * height
# 함수 호출
area = rectangle_area(5, 10)
print(f"사각형의 넓이: {area}")
연습 포인트:
- 매개변수를 사용하여 함수의 입력값을 처리
- 연산을 통해 결과를 반환하는 방법
실습 3: 기본값 매개변수를 사용하는 함수
문제 설명:
greet라는 함수를 작성하세요. 이 함수는 이름을 입력받아 "안녕하세요, [이름]님!"을 출력합니다. 이름이 주어지지 않으면 "손님"으로 기본값을 설정하세요.
def greet(name="손님"):
print(f"안녕하세요, {name}님!")
# 함수 호출
greet() # 기본값 사용
greet("철수") # 이름 지정
연습 포인트:
- 기본값 매개변수를 설정하는 방법을 익히기
실습 4: 두 수 중 큰 값을 반환하는 함수
문제 설명:
두 개의 숫자를 입력받아 그 중 더 큰 값을 반환하는 함수 max_number를 작성하세요.
def max_number(a, b):
if a > b:
return a
else:
return b
# 함수 호출
result = max_number(10, 20)
print("더 큰 값:", result)
연습 포인트:
- 조건문과 함수의 결합
- 비교 연산을 통해 값을 선택하고 반환하는 방법
실습 5: 여러 값을 더하는 함수 (*args 사용)
문제 설명:
가변 인자(*args)를 사용하여 여러 개의 숫자를 입력받아 그 합을 반환하는 함수 sum_numbers를 작성하세요.
def sum_numbers(*args):
total = 0
for num in args:
total += num
return total
# 함수 호출
result = sum_numbers(1, 2, 3, 4, 5)
print("합계:", result)
연습 포인트:
- 가변 인자(*args)를 사용하여 여러 값을 전달하는 방법 익히기
- 반복문을 통해 여러 값을 처리하는 방법
실습 6: 키워드 인자(**kwargs) 사용
문제 설명:
가변 키워드 인자(**kwargs)를 사용하여 여러 속성을 받아서 출력하는 함수 print_person_info를 작성하세요.
def print_person_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
# 함수 호출
print_person_info(name="철수", age=25, city="서울")
연습 포인트:
- 가변 키워드 인자(**kwargs)를 사용하여 딕셔너리 형태로 여러 인자를 받는 방법 익히기
실습 7: 리스트에서 가장 큰 값 찾기
문제 설명:
리스트에서 가장 큰 값을 찾아 반환하는 함수 find_max를 작성하세요.
def find_max(numbers):
max_value = numbers[0]
for num in numbers:
if num > max_value:
max_value = num
return max_value
# 함수 호출
result = find_max([10, 20, 30, 40, 50])
print("리스트에서 가장 큰 값:", result)
연습 포인트:
- 리스트를 매개변수로 받는 방법 익히기
- 반복문과 조건문을 사용해 최대값을 찾는 방법
실습 8: 팩토리얼 계산 (재귀 함수)
문제 설명:
주어진 숫자의 팩토리얼을 계산하는 재귀 함수 factorial을 작성하세요.
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
# 함수 호출
result = factorial(5)
print("5! =", result)
연습 포인트:
- 재귀 함수 작성 및 호출하는 방법
- 재귀 구조를 이해하고 적용하기
실습 9: 문자열 결합 함수
문제 설명:
두 개의 문자열을 입력받아 결합한 결과를 반환하는 함수 concat_strings를 작성하세요.
def concat_strings(str1, str2):
return str1 + str2
# 함수 호출
result = concat_strings("Hello, ", "World!")
print(result)
연습 포인트:
- 문자열을 매개변수로 받는 방법과 문자열 결합 연습
실습 10: 피보나치 수열 출력 (재귀 함수)
문제 설명:
피보나치 수열의 n번째 항을 계산하는 재귀 함수 fibonacci를 작성하세요.
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
# 함수 호출
result = fibonacci(7)
print("피보나치 수열의 7번째 항:", result)
연습 포인트:
- 재귀 함수로 피보나치 수열을 계산하는 방법 익히기
실습 11: 온도 변환 함수
문제 설명:
섭씨 온도를 화씨로 변환하는 함수 celsius_to_fahrenheit와 화씨 온도를 섭씨로 변환하는 함수 fahrenheit_to_celsius를 작성하세요.
def celsius_to_fahrenheit(celsius):
return celsius * 9/5 + 32
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5/9
# 함수 호출
c = 25
f = 77
print(f"{c}도 섭씨는 {celsius_to_fahrenheit(c)}도 화씨입니다.")
print(f"{f}도 화씨는 {fahrenheit_to_celsius(f)}도 섭씨입니다.")
연습 포인트:
- 수식을 함수로 변환하는 방법 익히기
요약
이 실습 문제들은 Python의 다양한 함수 개념을 다루며, 초보자가 함수를 충분히 연습할 수 있도록 구성되었습니다. 함수를 정의하고 호출하는 기본 개념부터 재귀 함수, 가변 인자 사용까지 다양하게 포함되어 있습니다. 제 경험상 눈으로만 보면서 머리로 하는 코딩을 한다면 절대 실력이 늘지 않습니다. 반드시 직접 풀어보면서 함수에 대한 이해를 깊게 하고, Python 프로그래밍의 기초를 탄탄하게 다지세요!