함수 매개변수에서 (이중 별) 및 (별)의 중요성 공개*
Python에서 함수 args 및 *kwargs로 표시된 매개변수는 임의의 항목을 수용하는 다양한 메커니즘으로 사용됩니다.
*args로 위치 인수 압축 풀기
*args 매개변수는 미리 정의된 인수를 초과하는 모든 위치 인수를 튜플로 수집합니다. 예를 들면 다음과 같습니다.
def foo(*args): for arg in args: print(arg)
이 함수는 다음과 같이 임의 개수의 위치 인수를 허용할 수 있습니다.
foo(1) # Output: 1 foo(1, 2, 3) # Output: 1 2 3
kwargs**
반면에 **kwargs는 모든 키워드 인수를 Dictionary.def bar(**kwargs): for key, value in kwargs.items(): print(key, value)키워드 인수를 사용하여 이 함수를 호출하면 다음과 같은 결과가 나옵니다.
bar(name='John', age=30) # Output: name John, age 30
args와 kwargs*두 관용어를 결합하여 고정 및 가변을 혼합할 수 있습니다. 인수:
이 함수는 다음과 같이 호출할 수 있습니다.def foo(kind, *args, bar=None, **kwargs): print(kind, args, bar, kwargs)
foo(123, 'a', 'b', apple='red') # Output: 123 ('a', 'b') None {'apple': 'red'}추가 사용 사례
def foo(bar, lee): print(bar, lee) baz = [1, 2] foo(*baz) # Output: 1 2
first, *rest = [1, 2, 3, 4] # first = 1 # rest = [2, 3, 4]
def func(arg1, arg2, arg3, *, kwarg1, kwarg2): pass
위 내용은 Python 함수 매개변수에서 `*args`와 `kwargs`의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!