반응형

파이썬 함수(Function) 기초

이번 글에서는 파이썬에서 매우 중요한 개념인 함수에 대해 다뤄보겠습니다. 함수는 코드를 재사용하고, 복잡한 문제를 더 작은 단위로 나누어 해결하는 데 유용합니다. 또한 함수는 코드의 가독성을 높이고 유지보수를 쉽게 만들어 줍니다.


1. 함수란 무엇인가?

함수는 하나의 작업을 수행하는 코드 블록입니다. 함수를 정의하고 필요할 때 호출하여 해당 작업을 실행할 수 있습니다. 함수는 입력값(인자)을 받아서, 그에 따른 결과값(리턴 값)을 반환할 수 있습니다.

기본 구조:

def 함수이름(인자1, 인자2, ...):
    실행할 코드
    return 반환값
  • def: 함수를 정의할 때 사용.
  • 함수이름: 함수의 이름.
  • 인자: 함수가 처리할 데이터를 받는 변수들 (없을 수도 있음).
  • return: 함수가 결과를 반환하는 데 사용.

 

2. 함수 정의 및 호출

함수 정의:

아래는 간단한 두 숫자의 합을 구하는 함수를 정의한 예시입니다.

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

이 함수는 두 개의 인자 a와 b를 받아 그들의 합을 반환합니다.

함수 호출:

함수를 호출하려면 함수 이름 뒤에 괄호를 사용하고, 필요한 인자를 넣어줍니다.

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

3. 인자와 반환값

함수는 여러 개의 인자를 받을 수 있으며, 필요에 따라 값을 반환하거나 반환하지 않을 수도 있습니다.

인자가 없는 함수:

인자가 필요 없는 함수도 정의할 수 있습니다.

def say_hello():
    print("Hello, World!")
    
say_hello()

반환값이 없는 함수:

반환값이 필요 없는 경우 return을 생략하거나, 단순히 값을 반환하지 않으면 됩니다.

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

print_name("Alice")
 
 

4. 기본값 인자

함수를 정의할 때 인자에 기본값을 설정할 수 있습니다. 이렇게 하면 인자를 제공하지 않을 때 기본값을 사용하게 됩니다.

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

greet()            # 안녕하세요, 친구님!
greet("Bob")  # 안녕하세요, Bob님!

위 예시에서 name 인자가 제공되지 않으면 기본값 "친구"가 사용됩니다.

 

5. 가변 인자 (Arbitrary Arguments)

때로는 함수에 몇 개의 인자가 전달될지 미리 알 수 없을 때가 있습니다. 이때는 *를 사용해 가변 인자를 정의할 수 있습니다.

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

print(add_numbers(1, 2, 3))       # 6
print(add_numbers(10, 20, 30, 40))  # 100

*args는 여러 개의 인자를 튜플로 받아서 처리할 수 있게 합니다.

 

6. 키워드 인자 (Keyword Arguments)

키워드 인자를 사용하면 함수 호출 시 인자의 이름을 명시적으로 지정할 수 있습니다.

def introduce(name, age):
    print(f"저는 {name}이고, {age}살입니다.")

introduce(name="Alice", age=25)
introduce(age=30, name="Bob")

키워드 인자를 사용할 때는 인자의 순서를 바꿔도 상관없습니다.

 

7. 함수에서의 반환 (return)

return 키워드를 사용해 함수를 종료하고, 결과를 반환할 수 있습니다. 함수는 여러 값을 반환할 수도 있습니다.

def get_person_info():
    name = "Alice"
    age = 25
    return name, age

person_name, person_age = get_person_info()
print(person_name)  # Alice
print(person_age)   # 25

여러 값을 반환할 때 파이썬은 자동으로 튜플을 반환합니다.

 

8. 람다 함수 (Lambda Functions)

람다 함수는 익명 함수로, 짧고 간단한 함수가 필요할 때 사용됩니다. lambda 키워드를 사용해 정의하며, 보통 간단한 연산에 사용됩니다.

# 두 수를 더하는 람다 함수
add = lambda x, y: x + y
print(add(2, 3))  # 5

람다 함수는 여러 곳에서 간단한 작업을 수행할 때 유용합니다.

 


결론

파이썬의 함수는 코드의 재사용성을 높이고, 복잡한 문제를 더 작은 단위로 나누어 해결하는 데 도움을 줍니다. 이번 글에서는 함수의 정의와 호출, 인자, 반환값 등 기본적인 내용을 살펴보았습니다.

다음 글에서는 모듈과 패키지를 주제로, 파이썬에서 코드를 효율적으로 조직화하는 방법을 다뤄보겠습니다.

반응형

+ Recent posts