본문 바로가기
파이썬

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

by JJONY 2025. 4. 5.
반응형

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

댓글