파이썬 함수(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
람다 함수는 여러 곳에서 간단한 작업을 수행할 때 유용합니다.
결론
파이썬의 함수는 코드의 재사용성을 높이고, 복잡한 문제를 더 작은 단위로 나누어 해결하는 데 도움을 줍니다. 이번 글에서는 함수의 정의와 호출, 인자, 반환값 등 기본적인 내용을 살펴보았습니다.
다음 글에서는 모듈과 패키지를 주제로, 파이썬에서 코드를 효율적으로 조직화하는 방법을 다뤄보겠습니다.
'프로그래밍 공부 > pyhton' 카테고리의 다른 글
파이썬 기초 - 파일 입출력(File I/O) (0) | 2024.09.11 |
---|---|
파이썬 기초 - 예외 처리(Exception Handling) (1) | 2024.09.11 |
파이썬 기초 - 모듈(module)과 패키지(package) (0) | 2024.09.10 |
파이썬 기초 - 조건문(if, elif, else)과 반복문(for, while) (0) | 2024.09.09 |
파이썬 기초 - 변수와 데이터 타입 (0) | 2024.09.09 |