Mentoring/Python
파이썬 멘토링#8 _함공파 - 가변, 기본, 키워드 매개변수
식혜야
2023. 11. 7. 15:00
가변 매개변수
우리가 일반적으로 함수를 선언할 때 작성하는 매개변수는 일반 매개변수이다. 일반 매개변수는 함수를 호출할 때 매개 변수의 개수를 맞춰주어야지만 TypeError
가 발생하지 않는다.
함수를 호출할 때 매개변수의 개수를 원하는 만큼 받을 수 있는 함수를 가변 매개변수 함수라 한다. 가변 매개변수 함수의 대표적인 예로는 print() 함수가
있다.
- 일반적으로 가변 매개변수명은
*args
를 많이 사용한다! - 가변 매개변수 사용 시 매개변수를 아무것도 입력하지 않아도 오류가 발생하지 않는다.
- 튜플 형태로 전달
# 가변 매개변수 함수 코드의 형태
def 함수이름(매개변수, 매개변수, *가변 매개변수):
코드
가변 매개변수를 사용할 때의 제약
- 가변 매개변수 뒤에는 일반 매개변수가 올 수 없다.
- 가변 매개변수는 하나만 사용할 수 있다.
기본 매개변수
매개변수=값
형태로 함수 선언 시 매개변수의 기본값이 지정되어 있는 경우를 말한다.
기본 매개변수 뒤에는 일반 매개변수가 올 수 없다.
# 기본 매개변수 예제 1
print(value, sep='', end='\n', file=sys.stdout, flush=False)
# value는 가변 매개변수
# 나머지 뒤에 있는 변수들은 모두 기본 매개변수
# 기본 매개변수 예제 2
def print_n_times(value, n=2):
# n 번 반복합니다.
for i in range(n):
print(value)
# 함수를 호출합니다.
print_n_times("안녕하세요")
# 실행결과
"""
안녕하세요
안녕하세요
"""
키워드 매개변수
가변 매개변수와 기본 매개변수를 함께 사용할 때 키워드 매개변수를 사용한다.
함수를 호출할 때, 매개변수 이름과 값을 지정하는 것!
- 일반적으로 키워드 매개변수명은
*kwargs
를 많이 사용한다! - 키워드 매개변수 사용 시 매개변수를 아무것도 입력하지 않아도 오류가 발생하지 않는다.
- 딕셔너리 형태로 전달
# 키워드 매개변수 함수 예시
def func(**kwargs):
print(type(kwargs), len(kwargs), kwargs)
func()
# 실행 결과
# <class = 'dict'> 0 {}
func(name = 'John', age = '32')
# 실행 결과
# <class = 'dict'> 2 {'name': 'John', 'age': 32}
func(a = 1, b = 2, c = 3, d = 4)
# 실행 결과
# <class = 'dict'> 4 {'a': 1, 'b': 2, 'c': 3, 'd': 4}
return
return
은 함수가 끝나는 위치를 의미한다.
return
뒤에 아무것도 안 붙이면 None을 출력한다.