반응형
Python을 배우다 보면 반복되는 작업을 효율적으로 처리하고, 코드를 구조화하기 위해 함수를 작성하게 됩니다. 함수는 코드의 재사용성과 가독성을 높이는 데 매우 중요한 역할을 합니다. 특히 Python에서는 def 키워드를 사용해 매우 쉽게 사용자 정의 함수를 만들 수 있습니다. 이번 포스팅에서는 함수 정의 방법, 매개변수 활용법, 반환값 처리 방법 등을 예제와 함께 자세히 설명하겠습니다.
1. 함수의 기본 구조
1. 함수란?
- 함수(Function)는 하나의 작업을 수행하는 코드 블록입니다.
- 반복 작업, 계산, 데이터 처리 등을 하나의 단위로 묶을 수 있습니다.
2. 기본 문법
def 함수이름(매개변수):
실행할 코드
return 결과값
3. 간단한 예제
def greet():
print("안녕하세요!")
greet() # 출력: 안녕하세요!
2. 매개변수와 인자 사용법
1. 매개변수가 있는 함수
def greet(name):
print(f"안녕하세요, {name}님!")
greet("민수")
2. 여러 개의 매개변수
def add(a, b):
return a + b
print(add(3, 5)) # 출력: 8
3. 기본값 매개변수
def greet(name="친구"):
print(f"안녕하세요, {name}님!")
greet() # 출력: 안녕하세요, 친구님!
greet("영희") # 출력: 안녕하세요, 영희님!
4. 키워드 인자
def introduce(name, age):
print(f"이름: {name}, 나이: {age}")
introduce(age=25, name="지훈")
3. return으로 값 반환하기
1. 반환값이 있는 함수
def square(x):
return x * x
result = square(4)
print(result) # 출력: 16
2. 여러 개의 값 반환
def calc(x, y):
return x + y, x * y
sum_result, mul_result = calc(2, 3)
print("합:", sum_result)
print("곱:", mul_result)
3. 반환 없이 함수 실행만
def say_hello():
print("Hello!")
say_hello() # 출력: Hello!
4. 실전 예제: BMI 계산기 함수
def calc_bmi(weight, height):
bmi = weight / (height ** 2)
return round(bmi, 2)
w = 70
h = 1.75
result = calc_bmi(w, h)
print(f"BMI: {result}")
실행 결과
BMI: 22.86
조건문을 포함한 예제
def bmi_level(bmi):
if bmi < 18.5:
return "저체중"
elif bmi < 25:
return "정상"
elif bmi < 30:
return "과체중"
else:
return "비만"
print(bmi_level(result)) # 출력: 정상
5. 추가 팁 및 참고 사항
- 함수는 반드시 정의한 후에 호출해야 합니다.
- 함수 안에서 정의된 변수는 지역 변수로, 함수 밖에서는 사용할 수 없습니다.
- 함수에 주석을 추가하면 협업과 유지보수에 유리합니다.
def greet(name):
"""사용자에게 인사를 출력하는 함수."""
print(f"안녕하세요, {name}님!")
6. 요약 및 마무리
이번 포스팅에서는 Python에서 사용자 정의 함수를 만드는 방법에 대해 정리했습니다. def 키워드로 함수 정의, 매개변수로 데이터 전달, return으로 결과값 반환 등 함수의 기초부터 실전 예제까지 다뤘습니다. 함수를 활용하면 코드를 더 짧고 효율적으로 구성할 수 있으며, 유지보수와 확장성에서도 큰 장점을 가집니다. 다양한 예제를 따라하며 반복적으로 연습해보는 것이 중요합니다.
7. 관련 글 링크
- 관련 글: Python에서 클래스(class)와 객체(object) 기본 개념 설명하기
반응형
'파이썬' 카테고리의 다른 글
[Python] 날짜와 시간 다루기 (datetime, time 모듈 사용법) (0) | 2025.04.04 |
---|---|
[Python] 클래스(class)와 객체(object) 기본 개념 설명하기 (0) | 2025.04.04 |
[Python] try, except 예외 처리 문법과 실전 예제 (0) | 2025.04.04 |
[Python] list, set, tuple, dict 차이점과 선택 기준 (0) | 2025.04.03 |
[Python] 파일 읽기/쓰기 기본 사용법 (open, read, write) (0) | 2025.04.03 |
댓글