반응형
함수를 정의할 때, 우리가 얼마나 많은 인자들을 넣게될지 모를 경우, 파라미터 값으로 사용한다.
중요하고, 또 많이 쓰인다고는 하나 내가 직접 함수에 넣어본 적은 한번도 없다
*args
arguments. 키워드되지 않은 가변 개수의 인자들
def foo(*args): for arg in args: print(arg) foo(1, 2, 3, 4)
결과
1
2
3
4
**kwargs
keyword arguments. 키워드된 가변 개수의 인자들
def foo(num1, num2, **kwargs):
별표(*)는 중요하나 'args', 'kwargs' 같은 단어명은 중요하지 않다.
'vars', 'kwvars' 뭐 이렇게 해도 상관 없다는 거.
하지만 * 혹은 **는 반드시 붙여주어야 한다.
그래도 다른 사람이 보았을 때, 또는 유지보수를 위해 웬만하면 'args', 'kwargs'로 사용하자.
둘이 함께 있을 때 사용순서는 이렇다
foo(farg, *args, **kwargs)
형식인자(format arguments) > 가변인자(*args) > 키워드 가변인자(**kwargs) 순
내 취향은 아니지만 써버릇 해야겠다.
반응형
'개발 > python' 카테고리의 다른 글
[python] Python을 web에서 컴파일하는 여러 가지 방법 (2) | 2017.09.13 |
---|---|
[python] 제너레이터(Generator) (3) | 2017.09.12 |
windows에서 RabbitMQ 설치 (4) | 2017.06.20 |
Python 검색 엔진 : Whoosh (2) | 2016.12.22 |
[python] Python 3 에서 MySQL DB 연동 (4) | 2016.12.22 |
댓글