나는 매우 설명 도움이 될 수는 아래의 링크를 발견했습니다 *
, *args
그리고 **kwargs
:
https://pythontips.com/2013/08/04/args-and-kwargs-in-python-explained/
본질적으로 위의 답변 외에도 위 사이트 (신용 : https://pythontips.com/author/yasoob008/ )에서 다음을 배웠습니다 .
아래에 첫 번째로 정의 된 데모 기능에는 두 가지 예가 *args
있습니다.**kwargs
def test_args_kwargs(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
# first with *args
>>> args = ("two", 3,5)
>>> test_args_kwargs(*args)
arg1: two
arg2: 3
arg3: 5
# now with **kwargs:
>>> kwargs = {"arg3": 3, "arg2": "two","arg1":5}
>>> test_args_kwargs(**kwargs)
arg1: 5
arg2: two
arg3: 3
따라서 *args
인수 순서에 따라 인수 목록을 동적으로 작성할 수 있습니다.**kwargs
수 있지만, NAMED 인수를 전달할 수 있으며 이에 따라 NAME에서 처리 할 수 있습니다 (공급 순서에 관계없이) .
사이트는 계속해서 올바른 인수 순서가 다음과 같아야합니다.
some_func(fargs,*args,**kwargs)