본문 바로가기
PYTHON

[Python] *args / **kwargs 개념

by Eungzy 2021. 8. 9.
728x90

| 가변인자 *args  / **kwargs

: 여러 개의 인수를 받을 때 / 키워드 인수를 받을 때 사용하는 표시이다.

, C언어에서의 주소 값을 저장하는 포인터 의미는 아니다.

 

| *args (*arguments)

여러 개의 인자를 함수로 받고자 할 때 쓰인다.

, 가변의 개수의 인자를 받을 때 *args 인자를 받는 것이다.

✔ 여러 개가 argument로 들어올 때, 함수 내부에서는 해당 변수를 튜플’ 처리한다.

 

🔥 주의점 :

 일반변수와 *args 같이 파라미터로 전달할 때,일반 변수보다는 뒤에 위치해야 한다.

 안 그러면 오류난다.(Type error)

 

 

| **kwargs (**keyword argument)

Keyword 특정값 형태로 함수를 호출할 수 있다.

키워드=’ ’ 형식으로 입력할 경우에 각각 키와 값으로 가져오는 ‘딕셔너리’로 처리한다.

딕셔너리로 처리된다는 것은 key value를 이용해서 적절하게 활용 가능하다.

 

🔥 주의점 :

앞서 *args는 일반 변수 뒤에 위치하는 것과 같이

**kwargs는 일반변수와 *args뒤에 위치해야 한다.

안그러면 오류가 난다 (Syntax Error)

728x90

댓글