*args , **kwargs 이런 단어들이 파라메터로 나타나서 가끔 당황하게 만드네.
별거 아닌 거 같은데, 명확하게 적어둬....(찾아서 정리만 해 둬도 되)
아래 글로 방문해서 보면 끝!!
https://ddanggle.gitbooks.io/interpy-kr/content/ch1-args-kwargs.html
*args는 키워드 되지않은 가변 갯수의 인자들을 함수에 보낼 때 사용합니다.
for arg in args:
print ("*argv의 다른 인자", arg)
**kwargs는 키워드된 가변 갯수의 인자들을 함수에 보낼 때 사용합니다.(역주: 가장 큰 차이는 keyword이냐 nonkeyword이냐입니다.) **kwargs는 함수가 이름이 지정된 인자를 처리할 때 사용해야합니다.
if kwargs is not None:
for key, value in kwargs.items():
print("%s == %s" % (key, value))
결국 가변 갯수의 인자를 받아야 하는 경우 사용되는 것들이다.
물론 고정된 사이즈의 변수의 경우는 앞에 선언되어야 한다. 리스트의 끝은 알 수 없으니 말이다.
그리고 *args, **kwargs 를 동시에 쓸 수 도 있다.
이때는 키=value 라는 패턴이 들어오기 전까지를 *args로 알아서 판단하는 것 같다.
*의 의미는 결국 들어오는 리스트 아이템의 종목 개수인가? ㅎㅎ
BJ.
PhotoMIX Company 님의 사진, 출처: Pexels
'IT > 파이썬' 카테고리의 다른 글
Flask 와 React 를 결합한 서비스 - 자료 조사 (0) | 2021.06.15 |
---|---|
파이썬 - 여러개 값 관리 - 리스트, 튜플, 딕셔너리 멀 쓰나? (0) | 2021.06.15 |
Flask redirect 할 때 POST 데이터도 같이 넘기기 (0) | 2021.06.15 |
파이썬 - dictionary 처리 관련해서, empty check, 추가하기 (0) | 2021.06.11 |
파이썬 - 순환 참조 문제 Circular Imports 에러 (0) | 2021.06.09 |