파이썬

[Python] 사용자 정의 함수 만들기 (def, 매개변수, return)

JJONY 2025. 4. 5. 07:47
반응형

Python을 배우다 보면 반복되는 작업을 효율적으로 처리하고, 코드를 구조화하기 위해 함수를 작성하게 됩니다. 함수는 코드의 재사용성과 가독성을 높이는 데 매우 중요한 역할을 합니다. 특히 Python에서는 def 키워드를 사용해 매우 쉽게 사용자 정의 함수를 만들 수 있습니다. 이번 포스팅에서는 함수 정의 방법, 매개변수 활용법, 반환값 처리 방법 등을 예제와 함께 자세히 설명하겠습니다.

사용자 정의 함수 만들기 (def, 매개변수, return)


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) 기본 개념 설명하기
반응형