본문 바로가기

프로그래밍 언어/파이썬

파이썬(Python) 함수 정의, 호출, 매개변수와 반환값

파이썬(Python) 함수 정의, 호출, 매개변수와 반환값

함수는 프로그래밍에서 코드의 재사용성과 가독성을 높이는 핵심 요소입니다. 파이썬에서는 함수를 쉽게 정의하고 호출할 수 있으며, 다양한 매개변수와 반환값을 통해 복잡한 작업을 간단하게 처리할 수 있습니다. 이 글에서는 파이썬 함수의 기본 정의부터 호출, 매개변수 처리, 반환값 사용법까지 상세히 설명합니다.

 

 

 

1. 함수 정의하기

파이썬에서 함수를 정의하려면 def 키워드를 사용합니다. 함수 이름과 괄호 안에 매개변수를 지정하고, 콜론 뒤에 함수의 본문을 작성합니다.

def 함수이름(매개변수1, 매개변수2):
    # 함수 본문
    return 반환값

예제:

def greet(name):
    return f"안녕하세요, {name}님!"

print(greet("철수"))  # 출력: 안녕하세요, 철수님!

 

 

2. 함수 호출하기

정의된 함수를 호출하려면 함수 이름과 괄호 안에 필요한 인수를 넣으면 됩니다.

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 출력: 8

 

 

3. 매개변수 다루기

기본 매개변수

함수 매개변수에 기본값을 지정할 수 있습니다.

def greet(name="손님"):
    return f"안녕하세요, {name}님!"

print(greet())  # 출력: 안녕하세요, 손님님!

가변 매개변수

가변 매개변수를 사용하면 함수가 임의의 개수의 인수를 받을 수 있습니다.

def add(*args):
    return sum(args)

print(add(1, 2, 3))  # 출력: 6

키워드 매개변수

키워드 매개변수는 딕셔너리 형태로 전달됩니다.

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="철수", age=30)  
# 출력: 
# name: 철수
# age: 30

 

 

 

 

4. 반환값 처리하기

함수는 하나 이상의 값을 반환할 수 있습니다. 반환값은 return 문을 사용하여 지정합니다.

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 출력: 8

여러 값을 반환하려면 튜플을 사용할 수 있습니다.

def get_name_and_age():
    return "철수", 30

name, age = get_name_and_age()
print(name, age)  # 출력: 철수 30

 

 

5. 고급 함수 기법

람다 함수

람다 함수는 한 줄로 작성되는 익명 함수입니다.

add = lambda a, b: a + b
print(add(3, 5))  # 출력: 8

내부 함수와 클로저

함수 내에 정의된 함수를 내부 함수라고 합니다. 클로저는 내부 함수가 외부 함수의 변수를 참조하는 경우를 말합니다.

def outer_func(x):
    def inner_func(y):
        return x + y
    return inner_func

closure = outer_func(10)
print(closure(5))  # 출력: 15

재귀 함수

재귀 함수는 함수가 자기 자신을 호출하는 함수입니다. 예를 들어, 팩토리얼 계산에 사용됩니다.

def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 출력: 120

 

 

결론

파이썬 함수는 코드의 재사용성을 높이고, 가독성을 향상시키는 중요한 도구입니다. 기본 정의와 호출 방법부터 다양한 매개변수 처리 및 고급 기법까지 익히면 더 효율적이고 유지보수하기 쉬운 코드를 작성할 수 있습니다. 이 글에서 소개한 내용을 바탕으로 파이썬 함수의 활용도를 높여 보세요.