Python에서 함수는 특정 작업을 수행하는 코드 블록을 의미합니다. 함수를 사용하면 코드의 재사용성을 높이고, 프로그램의 구조를 더 이해하기 쉽게 만들 수 있습니다. Python에서는 def 키워드를 사용하여 함수를 정의합니다.
함수의 기본 구조
Python에서 함수는 다음과 같은 기본 구조를 가집니다:
def 함수이름(매개변수1, 매개변수2, ...):
"""문서화 문자열(optional)"""
함수의 코드 블록
return 반환값(optional)
- def: 함수를 정의하기 위한 키워드입니다.
- 함수이름: 함수의 이름으로, 호출할 때 사용됩니다.
- 매개변수: 함수에 전달할 수 있는 값입니다. 함수의 입력 역할을 합니다.
- return: 함수의 결과를 반환합니다. return이 없으면 함수는 None을 반환합니다.
- 문서화 문자열: 함수의 목적이나 사용 방법을 설명하는 문자열입니다. 선택사항이지만 함수의 가독성을 높이는 데 도움이 됩니다.
함수 사용 예제
기본적인 함수
def greet():
print("Hello, World!")
greet() # 함수 호출
# 출력: Hello, World!
이 예제에서 greet라는 이름의 함수를 정의했고, 이 함수는 호출될 때 "Hello, World!"를 출력합니다.
매개변수가 있는 함수
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
greet("Bob")
# 출력:
# Hello, Alice!
# Hello, Bob!
이 함수는 name이라는 매개변수를 받아서, 해당 이름과 함께 인사말을 출력합니다.
반환값이 있는 함수
def add(a, b):
return a + b
result = add(3, 5)
print(result)
# 출력: 8
이 함수는 두 숫자를 더한 값을 반환합니다. 반환된 결과는 result 변수에 저장되어 출력됩니다.
기본값 매개변수가 있는 함수
def greet(name="Guest"):
print(f"Hello, {name}!")
greet() # 매개변수를 제공하지 않으면 기본값 사용
greet("Charlie") # 매개변수를 제공하면 그 값을 사용
# 출력:
# Hello, Guest!
# Hello, Charlie!
이 예제에서 name 매개변수에는 기본값 "Guest"가 설정되어 있습니다. 함수 호출 시 매개변수를 제공하지 않으면 기본값이 사용됩니다.
여러 값을 반환하는 함수
def get_user_info():
name = "Alice"
age = 30
return name, age
user_name, user_age = get_user_info()
print(user_name) # 출력: Alice
print(user_age) # 출력: 30
이 함수는 여러 값을 튜플 형태로 반환합니다. 호출 시 각 반환값을 각각의 변수에 저장할 수 있습니다.
가변 인자 함수
가변 인자는 함수가 임의의 개수의 인수를 받을 수 있도록 해줍니다.
def add_all(*args):
return sum(args)
result = add_all(1, 2, 3, 4, 5)
print(result)
# 출력: 15
이 함수는 *args를 사용하여 전달된 모든 인수를 합산하여 반환합니다.
키워드 가변 인자 함수
키워드 인자를 사용할 수 있도록 **kwargs를 사용할 수 있습니다.
def print_user_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_user_info(name="Alice", age=30, city="New York")
# 출력:
# name: Alice
# age: 30
# city: New York
이 함수는 여러 키워드 인자를 받아서, 각각의 키와 값을 출력합니다.
함수의 활용
- 코드 재사용: 함수는 여러 곳에서 재사용할 수 있는 코드 블록을 정의합니다. 동일한 작업을 여러 번 수행해야 할 때 매우 유용합니다.
- 코드 구조화: 큰 프로그램을 작은 함수들로 나누어 관리하면 프로그램의 가독성이 높아지고 유지보수가 쉬워집니다.
- 추상화: 함수는 복잡한 작업을 추상화하여 간단하게 사용할 수 있게 해줍니다.
함수는 Python 프로그래밍에서 매우 중요한 개념으로, 프로그램을 모듈화하고, 복잡한 문제를 더 쉽게 해결할 수 있도록 돕습니다.
#파이썬 #python #함수 #사용자정의 #function