*args, **kwargs 파이썬으로 개발 하다 보면 자주 보이는 것들이다.
대충 복수개의 인수를 받을때 사용 한다만 알고 있는데 이번 기회에 자세히 알아보자
*args
arguments 인수라는 뜻으로 변수에 담기는 값을 의미 하는데 매개변수(parameter)로 선언 할때 꼭 args 일 필요는 없다.
* 이것만 붙이면 복수개 인수를 담는다는 의미가 된다.
def display(*msg):
print(type(msg))
print(msg)
display("안녕","나는", "파이써이야")
이렇게 이름을 바꿔서 사용이 가능하다.
type도 궁금해서 알아보니 tuple 로 출력 해준다.
**kwargs
keyword arguments 키워드 + 인수 하면 뭐가 생각 나는가?
딕셔너리 형태의 데이터가 생각 날것이다. {'key':'value'}
** 이것만 붙이면 키값 형태로 처리한다는 의미가 된다.
def display(**msg):
for key, value in msg.items():
if 'python' in msg.keys():
print('성공')
else:
print("{0} is {1}".format(key,value))
display(name='JS')
display(python='good')
마지막으로 *args, **kwargs 순서도 중요하다 같이 사용 하는 경우 반대가 되면 작동 하지 않으니 주의하자
'python' 카테고리의 다른 글
파이썬 메모리 관리 (0) | 2021.10.29 |
---|---|
Decorator (0) | 2021.10.21 |
Closure (0) | 2021.10.21 |
first_class function (0) | 2021.10.21 |
python package pandas (0) | 2021.10.08 |