파이썬 함수 (def) 완벽 정리 - 정의부터 호출까지

파이썬을 공부하다 보면 가장 많이 접하게 되는 개념 중 하나가 바로 함수(Function)입니다. 함수는 프로그램을 구조적으로 만들고, 반복되는 코드를 효율적으로 관리할 수 있게 해주는 핵심 문법입니다. 이번 글에서는 파이썬에서 def 키워드를 사용해 함수를 정의하고, 호출하는 방법까지 단계별로 정리해보겠습니다.



1. 함수란 무엇인가?

 함수는 특정 작업을 수행하기 위해 코드 블록을 묶어둔 것입니다. 한 번 만들어두면 여러 번 호출해서 재사용할 수 있습니다. 즉, ‘입력(매개변수)’을 받아서 ‘출력(리턴값)’을 돌려주는 코드 덩어리라고 할 수 있습니다.

예를 들어, 어떤 수의 제곱을 구하는 프로그램이 여러 번 필요하다면 매번 같은 코드를 쓰는 대신 함수를 만들어두면 됩니다.


# 제곱을 구하는 함수 정의
def square(number):
    return number * number

# 함수 호출
result = square(5)
print(result)  # 출력: 25

2. 함수 정의 방법

 파이썬에서 함수를 정의할 때는 def 키워드를 사용합니다. 기본 구조는 다음과 같습니다.


def 함수이름(매개변수):
    실행할 코드
    return 결과값
  • def : 함수를 정의할 때 사용하는 키워드
  • 함수이름 : 호출할 때 사용할 이름
  • 매개변수 : 함수에 전달할 값 (없을 수도 있음)
  • return : 함수를 종료하고 값을 반환 (생략 가능)

3. 매개변수와 리턴값

 함수는 입력값이 있을 수도, 없을 수도 있습니다. 또한 결과를 반환하지 않고 단순히 출력만 하는 함수도 존재합니다.


# 매개변수와 리턴값이 모두 있는 함수
def add(a, b):
    return a + b

# 매개변수는 있지만 리턴값이 없는 함수
def greeting(name):
    print("안녕하세요,", name)

# 매개변수도, 리턴값도 없는 함수
def hello():
    print("Hello World")

# 호출 예시
print(add(3, 7))     # 10
greeting("김철수")      # 안녕하세요, 김철수
hello()              # Hello World

4. 함수 호출 방법

 함수를 정의한 뒤에는 함수이름(인자) 형태로 호출할 수 있습니다. 만약 함수가 값을 반환하면 변수에 저장하거나 바로 출력할 수 있습니다.


def multiply(a, b):
    return a * b

# 함수 호출
result = multiply(4, 6)
print("곱셈 결과:", result)

 이처럼 함수를 사용하면 같은 코드를 반복해서 작성하지 않아도 되어, 코드의 가독성유지보수성이 좋아집니다.

5. 기본값 매개변수와 키워드 인자

 함수를 정의할 때 매개변수에 기본값을 설정해둘 수도 있습니다. 또한 인자를 이름으로 지정해서 전달할 수도 있습니다.


# 기본값이 있는 매개변수
def introduce(name, age=20):
    print(f"이름: {name}, 나이: {age}")

introduce("홍길동")           # 나이 기본값 20
introduce("이순신", 45)       # 전달한 값으로 대체

# 키워드 인자 사용
introduce(age=30, name="유관순")

6. 함수의 반환값(return)의 중요성

 return문은 함수의 실행 결과를 돌려주는 역할을 합니다. return이 실행되면 함수는 즉시 종료되고 지정된 값을 반환합니다.


def divide(a, b):
    if b == 0:
        return "0으로 나눌 수 없습니다."
    return a / b

print(divide(10, 2))  # 5.0
print(divide(5, 0))   # 0으로 나눌 수 없습니다.

7. 결론

 파이썬의 def 함수는 코드의 재사용성과 효율성을 높여주는 필수 개념입니다. 프로젝트가 커질수록 함수의 역할은 더욱 중요해집니다. 함수를 잘 활용하면 복잡한 프로그램도 구조적으로 깔끔하게 관리할 수 있습니다. 오늘 배운 내용을 기반으로 직접 여러 함수를 만들어보면서 익혀보세요!


💡Tip: 함수는 프로그램을 작게 나누는 기본 단위입니다. 작고 명확한 함수일수록 유지보수가 쉽고, 코드 품질이 좋아집니다.

댓글 쓰기