본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
다양한 매개변수 활용
기본 매개변수(Default Parameter)
- 함수를 호출할 때 매개변수를 제공하지 않으면, 자동으로 살당되는 값
- 함수를 유연하게 사용할 수 있음
- 매개변수 명=기본값 형태로 정의
- 기본 매개변수는 일반 매개변수 뒤에 위치
[ex.]
def study(name, language="python"):
print(f"{name} 님은 {language} 수업 중입니다.")
기본 매개변수 활용하기
- 매개변수 값을 전달하지 않으면 기본 매개변수가 사용됨
- 기본 매개변수 사용 시, 가변 객체(리스트, 딕셔너리 등)가 변조될 수 있음
- 가변 객체를 기본 매개변수로 사용할 경우, 함수 내부에서 생성하도록 구성
키워드 인자(Keyword Argument)
- 함수 호출 시 인자(Argument)와 매개변수(Parameter)는 위치에 의해 연결됨
- 위치 인자(Positional Arguments) - 키워드 인자 : 함수 호출 시 인자에 매개변수 이름을 넣어 전달
- 인자와 매개변수의 연결을 명확히 보여줄 수 있음
- 매개변수의 순서에 영향을 받지 않으므로, 보다 유연하게 구성할 수 있음
키워드 인자 활용하기
- 키워드 인자와 위치 인자 혼용하여 사용
- 키워드 인자는 위치 인자 뒤에 위치해야 함 - 코드의 가독성을 향상시키고 함수 호출을 명확하게 함
[ex.]
def greet(name, greeting):
print(greeting, name)
greet(name="Alice", greeting="Hello") #출력 : Hello Alice
greet(greeting="Hi", name="Bob") #출력 : Hi Bob
가변 인자 리스트(Arbitrary Argument List)
- 여러 인자를 유연하게 처리할 수 있게 활용
- 함수 정의에서 매개변수 이름 앞에 *을 붙여서 정의
- 튜플로 묶여서 전달 됨
def add_numbers(*args):
result = 0
for num in args:
result += num
return result
가변 인자 리스트 활용하기
- 원하는 만큼의 인자를 전달할 수 있음
- 다른 매개변수와 함께 사용할 수 있으며, 일반 매개변수 뒤에 위치해야 함
- 하나만 정의 가능
def add_numbers(*args):
result = 0
for num in args:
result += num
return result
add_numbers(1)
add_numbers(1, 10, -10, -5)
add_numbers(1, 2, 3, 10, 100, 50)
키워드 가변 인자 리스트(Keyword Arguments List)
- 여러 인자를 유연하게 처리할 수 있게 활용
- 함수 정의에서 매개변수 이름 앞에 **을 붙여서 정의
- 딕셔너리로 묶여서 전달 됨
def print_kv(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
키워드 가변 인자 리스트 활용하기
- 원하는 만큼의 인자를 전달할 수 있음
- 매개변수 이름과 값을 직접 연결하여 호출(매개변수명=값)
- 다른 매개변수와 함께 사용할 수 있으며, 모든 매개변수 중 가장 뒤에 위치해야 함
print_kv(name = "alpha", age = 10)
print_kv(name = "beta", country = "USA")
print_kv(key = "name")
매개변수 순서 정리
def func(
positional,
default_param=0,
*args,
keyword_only=None,
**kwargs
):
pass
지난 시간에 함수의 개념을 다시 정리할 때, 매개변수에 궁금증이 생겼어요. 같은 함수라도 어떤 매개변수를 어떻게 설계하느냐에 따라 함수의 활용 범위와 가독성이 크게 달라진다는 점이 꽤 인상적이었죠. 오늘은 기본 매개변수부터 키워드 인자, 가변 인자까지 다양한 매개변수 활용 방법에 대해 정리해 봤어요. 매개변수 종류가 너무 많아서 좀 복잡하지만,,,이해한 내용 다시 정리해볼게요?!
기본 매개변수는 함수를 호출할 때 해당 인자를 전달하지 않으면 자동으로 할당되는 값을 의미합니다. '매개변수명=기본값' 형태로 정의하고, 일반 매개변수 뒤에 위치해야 합니다. 이를 활용하면 함수 호출을 훨씬 간단하게 만들 수 있고, 기본 동작을 자연스럽게 정리할 수 있어요. 다만 주의할 점은, 리스트나 딕셔너리 같은 가변 객체를 기본 매개변수로 사용할 경우 의도치 않게 값 변경이 발생할 수 있다는 거예요. 이 경우 함수 내부에서 객체를 생성하는 방식이 더 안전하죠.
다음으로 키워드 인자는 함수 호출 시 '매개변수명=값' 형태로 전달하는 방식을 의미합니다. 위치에 의존하지 않기 때문에 인자의 순서를 바꿔도 호출할 수 있으며, 코드만 보아도 어떤 값이 어떤 역할을 하는지 명확히 드러나죠. 인자가 많아질수록 키워드 인자는 가독성과 유지보수성 측면에서 큰 장점을 가집니다. 위치 인자와 키워드 인자를 함께 사용할 수도 있지만, 이 때는 위치 인자가 항상 앞에 와야하죠. 위치를 기억하고 알맞게 정렬하는 것도 다소 어려움이 있네요...
가변 인자 리스트를 사용하면 전달되는 인자의 개수를 미리 정하지 않아도 됩니다. 여러 개의 인자가 튜플 형태로 묶여 함수에 전달되고, 반복 처리나 유연한 입력이 필요한 경우 유용하게 쓰입니다. 여기에 더해 키워드 가변인자 리스트는 매개변수 이름과 값을 쌍으로 받아서 딕셔너리 형태로 처리할 수 있습니다. 설정값이나 옵션을 처리할 때 특히 자주 사용되죠.
오늘 다시 한번 느꼈어요. 함수는 단순히 동작하는 코드 묶음이 아니라 사용자를 고려해 설계해야 하는 인터페이스라는 것을요. 앞으로 함수를 작성할 때 '일단 되게 만들기' 보다, '어떻게 쓰일 함수인가'를 먼저 고민해야겠어요.




커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
'RAG' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 47일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.12.28 |
|---|---|
| 패스트캠퍼스 환급챌린지 46일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.12.27 |
| 패스트캠퍼스 환급챌린지 44일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.12.25 |
| 패스트캠퍼스 환급챌린지 43일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.12.24 |
| 패스트캠퍼스 환급챌린지 42일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.12.23 |