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을 출력한다.