목차
- 서론
- 함수란 무엇인가?
- 함수 정의하기
- 기본 함수 정의
- 매개변수와 인자
- 기본값 인자
- 가변 인자
- 함수 사용하기
- 함수 호출
- 반환 값
- 함수 안에서 함수 호출
- 람다 함수
- 실습 예제
- 용어 설명
- 마무리
- 추천 태그
1. 서론
Python 함수는 코드의 재사용성을 높이고, 코드의 가독성을 개선하는 데 중요한 역할을 합니다. 이번 포스팅에서는 Python 함수의 정의와 사용법을 초보 개발자도 쉽게 이해할 수 있도록 설명하겠습니다.
2. 함수란 무엇인가?
함수는 특정 작업을 수행하는 코드 블록입니다. 함수를 사용하면 코드의 중복을 줄이고, 모듈화하여 관리하기 쉬운 코드를 작성할 수 있습니다.
3. 함수 정의하기
3.1 기본 함수 정의
Python에서 함수를 정의할 때는 def
키워드를 사용합니다. 함수 이름과 괄호 안에 매개변수를 정의하고, 콜론(:
)으로 끝냅니다. 함수의 본문은 들여쓰기로 구분합니다.
def greet():
print("안녕하세요, 여러분!")
위 예제에서는 greet
라는 이름의 함수를 정의하고, 이 함수는 호출될 때마다 "안녕하세요, 여러분!"을 출력합니다.
3.2 매개변수와 인자
매개변수(parameter)는 함수 정의 시 정의되는 변수이고, 인자(argument)는 함수 호출 시 전달되는 실제 값입니다.
def greet(name):
print(f"안녕하세요, {name}님!")
greet("철수") # 안녕하세요, 철수님!
위 예제에서는 name
이라는 매개변수를 가진 greet
함수를 정의하고, 호출할 때 "철수"라는 인자를 전달합니다.
3.3 기본값 인자
함수 매개변수에 기본값을 설정할 수 있습니다. 기본값이 설정된 매개변수는 인자가 전달되지 않을 때 기본값을 사용합니다.
def greet(name="손님"):
print(f"안녕하세요, {name}님!")
greet() # 안녕하세요, 손님님!
greet("영희") # 안녕하세요, 영희님!
위 예제에서는 name
매개변수에 "손님"이라는 기본값을 설정하였습니다.
3.4 가변 인자
가변 인자는 함수가 임의의 개수의 인자를 받을 수 있게 합니다. *
을 사용하여 가변 인자를 정의합니다.
def greet(*names):
for name in names:
print(f"안녕하세요, {name}님!")
greet("철수", "영희", "민수")
# 안녕하세요, 철수님!
# 안녕하세요, 영희님!
# 안녕하세요, 민수님!
위 예제에서는 *names
를 사용하여 여러 개의 인자를 받을 수 있게 정의하였습니다.
4. 함수 사용하기
4.1 함수 호출
정의된 함수를 호출하려면 함수 이름 뒤에 괄호를 사용합니다. 필요한 인자를 괄호 안에 전달합니다.
def greet(name):
print(f"안녕하세요, {name}님!")
greet("철수") # 안녕하세요, 철수님!
4.2 반환 값
함수는 return
키워드를 사용하여 값을 반환할 수 있습니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
위 예제에서는 add
함수가 두 숫자를 더한 결과를 반환하고, result
변수에 저장합니다.
4.3 함수 안에서 함수 호출
함수는 다른 함수 안에서 호출될 수 있습니다.
def square(x):
return x * x
def sum_of_squares(a, b):
return square(a) + square(b)
result = sum_of_squares(3, 4)
print(result) # 25
위 예제에서는 sum_of_squares
함수가 square
함수를 호출하여 두 숫자의 제곱의 합을 계산합니다.
5. 람다 함수
람다 함수는 익명 함수로, 간단한 함수를 한 줄로 작성할 때 사용됩니다. lambda
키워드를 사용하여 정의합니다.
add = lambda a, b: a + b
print(add(3, 5)) # 8
위 예제에서는 lambda
를 사용하여 두 숫자를 더하는 익명 함수를 정의하고, add
변수에 할당합니다.
6. 실습 예제
최대값 찾기
리스트에서 최대값을 찾는 함수를 작성해보겠습니다.
def find_max(numbers):
max_num = numbers[0]
for num in numbers:
if num > max_num:
max_num = num
return max_num
numbers = [1, 2, 3, 4, 5]
print(find_max(numbers)) # 5
팩토리얼 계산
재귀 함수를 사용하여 팩토리얼을 계산하는 함수를 작성해보겠습니다.
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # 120
피보나치 수열
피보나치 수열의 n번째 항을 계산하는 함수를 작성해보겠습니다.
def fibonacci(n):
if n <= 0:
return "잘못된 입력입니다."
elif n == 1:
return 0
elif n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
print(fibonacci(10)) # 34
7. 용어 설명
- 함수: 특정 작업을 수행하는 코드 블록입니다.
- 매개변수(parameter): 함수 정의 시 정의되는 변수입니다.
- 인자(argument): 함수 호출 시 전달되는 실제 값입니다.
- 반환 값: 함수가 실행을 마친 후 반환하는 값입니다.
- 람다 함수: 익명 함수로, 간단한 함수를 한 줄로 작성할 때 사용됩니다.
8. 마무리
이번 포스팅에서는 Python 함수의 정의와 사용법에 대해 자세히 알아보았습니다. 함수를 사용하면 코드의 재사용성을 높이고, 코드의 가독성을 개선할 수 있습니다. 다양한 예제를 통해 함수의 활용법을 익혀보시기 바랍니다. 다음 포스팅에서는 더 심화된 Python 주제를 다룰 예정입니다.
이 포스팅이 Python을 처음 접하는 분들에게 도움이 되길 바랍니다.