프로그래밍에서 함수는 코드의 재사용성을 높이고 가독성을 개선하는 중요한 도구입니다.
함수는 특정 작업을 수행하는 코드의 집합으로, 필요할 때마다 호출하여 사용할 수 있습니다.
이 글에서는 파이썬에서 함수를 정의하고 호출하는 기본 방법과 매개변수를 사용하는 방법을 예제와 함께 알아보겠습니다.
1. 함수란 무엇인가?
함수는 특정 작업을 수행하는 코드 블록으로, 동일한 작업을 반복할 때 코드 중복을 줄이고 가독성을 높이는 데 유용합니다. 함수는 정의 후 호출하여 사용할 수 있습니다.
2. 함수 정의하기
파이썬에서 함수는 def
키워드를 사용하여 정의하며, 함수 이름과 괄호 ()
를 작성한 뒤 콜론 :
을 붙여 함수 본문을 작성합니다.
기본 함수 구조
def 함수이름():
실행할 코드
예제 1: 기본 함수 정의와 호출
아래 예제는 "Hello, World!"를 출력하는 간단한 함수를 정의하고 호출하는 예입니다.
def greet():
print("Hello, World!")
greet() # Hello, World!
위 코드에서 greet()
함수를 정의하고, 이후 호출하여 실행했습니다.
3. 매개변수와 인수
매개변수(parameter)는 함수 정의 시 정의하는 변수이며, 인수(argument)는 함수를 호출할 때 전달하는 실제 값입니다. 매개변수를 사용하면 함수가 외부 데이터를 받아 작업할 수 있습니다.
예제 2: 매개변수를 사용하는 함수
아래 예제는 이름을 매개변수로 받아 환영 인사를 출력하는 함수입니다.
def greet(name):
print(f"Hello, {name}!")
greet("Alice") # Hello, Alice!
greet("Bob") # Hello, Bob!
위 함수는 name
이라는 매개변수를 받아 호출 시 각기 다른 이름으로 인사를 출력합니다.
4. 반환값이 있는 함수
함수는 결과를 반환할 때 return
키워드를 사용합니다. return
은 함수의 실행을 종료하고, 결과를 반환하는 역할을 합니다.
예제 3: 두 수를 더하는 함수
아래 예제는 두 수를 더한 결과를 반환하는 함수입니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
위 함수 add()
는 두 인수를 받아 합을 계산하고, return
을 통해 결과를 반환합니다.
5. 기본값을 갖는 매개변수
함수 매개변수에 기본값을 설정하면, 인수를 전달하지 않아도 기본값으로 처리됩니다. 이를 기본 매개변수라고 합니다.
예제 4: 기본값을 갖는 매개변수 사용하기
def greet(name="Guest"):
print(f"Hello, {name}!")
greet("Alice") # Hello, Alice!
greet() # Hello, Guest!
위 예제에서 greet()
함수는 매개변수 name
에 기본값 "Guest"를 설정했습니다. 인수를 전달하지 않으면 기본값이 사용됩니다.
6. 키워드 인수
함수를 호출할 때 매개변수 이름을 지정하여 키워드 인수 형태로 인수를 전달할 수 있습니다. 키워드 인수는 매개변수의 순서를 자유롭게 할 수 있어 가독성을 높여줍니다.
예제 5: 키워드 인수를 사용한 함수 호출
def introduce(name, age):
print(f"My name is {name} and I'm {age} years old.")
introduce(age=30, name="Alice") # My name is Alice and I'm 30 years old.
위 함수 호출에서는 name
과 age
의 순서를 변경해도 결과는 동일합니다.
7. 가변 매개변수
매개변수 앞에 *
를 붙이면 여러 개의 인수를 튜플로 받을 수 있으며, **
를 사용하면 키워드 인수를 딕셔너리로 받을 수 있습니다.
예제 6: 가변 위치 인수
*args
를 사용하여 여러 개의 인수를 받아 합계를 계산하는 함수입니다.
def add(*args):
return sum(args)
print(add(1, 2, 3)) # 6
print(add(4, 5, 6, 7)) # 22
여러 개의 인수를 전달하면 args
튜플에 저장되어 함수 내에서 사용할 수 있습니다.
예제 7: 가변 키워드 인수
**kwargs
를 사용하여 키워드 인수를 모두 받아 처리하는 함수입니다.
def introduce(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
introduce(name="Alice", age=30, city="Seoul")
위 코드에서는 전달된 키워드 인수들이 kwargs
딕셔너리에 저장되어 각 키와 값을 출력합니다.
마무리
이번 글에서는 파이썬 함수의 정의와 호출, 매개변수 활용법에 대해 알아보았습니다.
함수를 잘 활용하면 코드의 가독성과 효율성이 높아집니다.
다양한 함수 작성 연습을 통해 자신만의 함수 활용 능력을 길러보세요!