def custum_print(value, *args, **kwargs):
print(value, *args, **kwargs)
custum_print(1, 2, 3, sep=':', end=' ')`
위 코드에서 print()안에 *args
, **kwargs
에는 통 *
을 붙이지 않는게 올바르다고 하는데요. 그런데 저렇게 코드를 쓰게 되면 어떻게 동작하는건지 이해가 잘 안갑니다. 일단 위코드 출력값은 1:2:3입니다.
1
은 value, 2,3
은 args,이렇게 인식하는건지,
그렇다면 sep=':'
end=' '
는 딕셔너리로 인식해야 할 것 같은데 그건 아니게 출력되고, 그렇다고 *
붙일 때 인식안한다고 하면 1:2:3
이렇게 출력되는 것도 신기합니다.
참고로..
def custum_print(value, *args, **kwargs):
print(value, args, kwargs)
custum_print(1, 2, 3, sep=':', end='')
는 *
를 떼니
1 (2,3) {sep : ':' , end :}
이런식으로 나왔습니다.
지엽적인 질문이지만 어떻게 돌아가는 건지 궁금해서요.