본문 바로가기
Programming/Python

파이썬 코딩 따라하기(기본) -인자(Argument)와 매개변수(Parameter), 가변인자

by Deongeun 2020. 12. 9.

 

인자와 매개변수의 차이

 

- 함수가 정의되는 내용에 포함되는 특성을 매개변수(Parmeter)라고 한다.

  즉, 여기서는 함수 func이 par1, par2라는 매개변수를 포함하고 있고 이를 전달받아서 출력하는 기능을 한다.(정의)

 

- 그리고 실제로 함수 func를 호출할 때 "arg1","arg2"라는 값을 전달하여 함수를 호출하는데

  이때 실제로 함수에 전달하는 값을 인자(Argument)라고 한다.

 

- 여기서 매개변수(Parameter)는 변수(Variable),

               인자(Argument)는 값(Value)라고 보면 된다.

 

 


가변(위치)인자 *args

 

입력값이 여러개인데 그 개수를 알 수 없을때, 우리는 이를 가변인자라고 부른다.

함수를 생성할때 가변길이의 변수앞에 *을 붙여주면 되는데, 보통 *args라고 많이 사용한다.

여러개의 인자를 받았을때 함수 내부에서는 이를 튜플로 인식한다.

* 가변인자가 나올때는 함수정의에서 해당 변수를 맨 마지막에 넣어줘야한다.

 

 

 

키워드가 있는 가변인자 **kwargs

 

정해지지 않은 수의 키워드로 이루어진 인자를 뜻한다(keyword argument). 보통 **kwargs라고 많이 사용한다.

이는 딕셔너리형태로 전달된다.

 

 

 

*args, **kewargs 두가지를 함께 사용할때

이때 함수를 정의하는 변수들의 순서가 중요하다

 

 

더보기

함수를 정의할때 순서

1. 일반 인자

2. 디폴트 인자(이미 값을 지정한 인자)

3. 가변인자(*args)

4. 디폴트가 아닌 키워드인자

5. 디폴트 키워드인자

6. 가변키워드인자 (**kwargs) 순으로 해야한다.