인자와 매개변수의 차이
- 함수가 정의되는 내용에 포함되는 특성을 매개변수(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) 순으로 해야한다.
'Programming > Python' 카테고리의 다른 글
파이썬 코딩 따라하기(기본) - 표준 입출력 (0) | 2020.12.14 |
---|---|
파이썬 코딩 따라하기(기본) - 지역변수, 전역변수 (0) | 2020.12.11 |
파이썬 코딩 따라하기(기본) -튜플, 집합 (0) | 2020.11.30 |
파이썬 코딩 따라하기(기본) -딕셔너리 (0) | 2020.11.25 |
파이썬 코딩 따라하기(기본) -리스트 (0) | 2020.11.25 |