매개변수 압축 해제: 함수 정의의 및 *
Python의 함수 정의는 (별표)를 활용할 수 있습니다. ) 및 *(이중 별) 연산자를 사용하여 다양한 수의 인수.
단일 별 연산자(*)
연산자("var-args" 또는 "splat"라고도 함)는 전달된 모든 위치 인수를 수집합니다. 함수를 args라는 튜플로 만듭니다. 예를 들어, 아래 정의에서
def foo(x, y, *args): pass
args가 foo(1, 2, 3, 4, 5)로 호출되면 args 튜플 (3, 4, 5)가 포함됩니다.
더블 스타 연산자 ()**
연산자("var-kwargs" 또는 "keyword splat"이라고도 함)는 모든 키워드 인수를 kwargs**라는 사전으로 캡처합니다. 다음 정의에서:
def bar(x, y, **kwargs): pass
bar가 bar(1, 2, name='Alice', age=30)로 호출되면 kwargs 사전에는 {'name': 'Alice', 'age':가 포함됩니다. 30}.
표준 인수와 가변 인수 혼합
함수 정의는 *:
def foo(kind, *args, bar=None, **kwargs): pass
를 사용하여 일반 인수와 가변 인수를 결합할 수 있습니다. foo(123, 'a', 'b', apple='red'), 변수 'kind', 'args', 'bar' 및 'kwargs'에는 다음이 포함됩니다.
Unpacking Argument Lists
*: unpack에도 사용할 수 있습니다. 함수 호출 시 인수 목록:
def foo(bar, lee): pass baz = [1, 2] foo(*baz) # Unpacks baz into [1, 2] for bar and lee
확장 반복 가능한 압축 풀기(Python 3)
Python 3에서는 할당 왼쪽에 *l을 사용하여 반복 가능한 항목을 여러 변수로 압축 해제할 수 있습니다.
first, *rest = [1, 2, 3, 4] # first = 1, rest = [2, 3, 4]
키워드 전용 인수(Python 3)
Python 3에는 키워드 전용 인수가 도입되었습니다. 여기서 *: 뒤에는 키워드 인수만 허용됩니다.
def func(arg1, arg2, arg3, *, kwarg1, kwarg2): pass
위 내용은 단일 및 이중 별 연산자(*) 및 ()는 Python 함수 정의에서 변수 인수를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!