티스토리 뷰

728x90
반응형

파이썬에서 함수는 특정 작업을 수행하기 위해 설계된 코드 블록입니다. 함수를 사용하면 코드의 재사용성을 높이고, 프로그램을 더 구조적이고 이해하기 쉽게 만들 수 있습니다. 이번 글에서는 함수의 정의, 사용법, 그리고 다양한 예제를 통해 기본 개념을 설명하겠습니다.

1. 함수의 정의

함수는 def 키워드를 사용하여 정의합니다. 함수의 기본 구조는 다음과 같습니다:

python

def 함수이름(매개변수1, 매개변수2):
    # 실행할 코드
    return 반환값
  • 함수이름: 함수의 이름으로, 호출 시 사용할 이름입니다.
  • 매개변수: 함수에 전달되는 입력값입니다. 여러 개의 매개변수를 사용할 수 있습니다.
  • return: 함수의 결과를 반환합니다. 반환값이 없으면 기본적으로 None을 반환합니다.

2. 함수 정의 및 호출 예제

2.1 간단한 함수 정의

아래는 두 숫자를 더하는 간단한 함수입니다.

python

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

이 함수를 호출하면 두 숫자의 합을 얻을 수 있습니다.

python

result = add(3, 5)
print(result)  # 8

2.2 매개변수가 없는 함수

매개변수가 없는 함수도 정의할 수 있습니다. 예를 들어, 인사말을 출력하는 함수를 만들어 보겠습니다.

python

def greet():
    print("안녕하세요!")

greet()  # 안녕하세요!

3. 기본 매개변수 값

함수 정의 시 매개변수에 기본값을 지정할 수 있습니다. 기본값이 설정된 매개변수는 호출 시 생략할 수 있습니다.

python

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

greet()          # 안녕하세요, 손님님!
greet("홍길동")  # 안녕하세요, 홍길동님!

4. 여러 개의 반환값

함수는 여러 개의 값을 반환할 수 있습니다. 반환할 값을 튜플로 묶어서 반환하면 됩니다.

python

def get_info():
    name = "홍길동"
    age = 30
    return name, age

person = get_info()
print(person)  # ('홍길동', 30)

# 튜플 언패킹
name, age = get_info()
print(name)  # 홍길동
print(age)   # 30

5. 가변 매개변수

가변 매개변수는 함수에 전달되는 인자의 개수가 정해져 있지 않을 때 사용합니다. *args를 사용하여 가변 인자를 받을 수 있습니다.

python

def sum_all(*args):
    total = 0
    for num in args:
        total += num
    return total

result = sum_all(1, 2, 3, 4, 5)
print(result)  # 15

6. 함수 문서화

함수에 대한 설명을 추가하는 것은 좋은 습관입니다. 파이썬에서는 함수의 첫 번째 줄에 docstring을 작성하여 함수의 목적과 사용법을 문서화할 수 있습니다.

python

def multiply(a, b):
    """
    두 숫자를 곱하는 함수입니다.
    
    매개변수:
    a (int 또는 float): 첫 번째 숫자
    b (int 또는 float): 두 번째 숫자
    
    반환값:
    int 또는 float: 두 숫자의 곱
    """
    return a * b

7. 익명 함수 (람다 함수)

파이썬에서는 lambda 키워드를 사용하여 한 줄로 간단한 함수를 정의할 수 있습니다. 이를 람다 함수라고 합니다.

python

add = lambda x, y: x + y
result = add(3, 5)
print(result)  # 8
728x90
반응형