및 (이중 별표/별표)를 사용하여 Python에서 인수 압축 풀기*
Python에서 * 연산자는 호출 시 인수를 푸는 데 중요한 역할을 합니다. 함수.
단일 별표 *:
단일 별표(*)는 시퀀스 또는 컬렉션을 위치 인수로 압축 해제합니다. 예를 들어 다음 함수를 고려해보세요.
def add(a, b): return a + b
아래 코드는 *를 사용하여 튜플 값을 압축 해제합니다.
values = (1, 2) s = add(*values)
이는 다음과 같습니다.
s = add(1, 2)
더블 스타 **:
더블 스타(**)는 다음과 같은 작업을 수행합니다. 명명된 인수에 대한 값을 제공하는 사전. 다음 함수를 고려하세요.
def sum(a, b, c, d): return a + b + c + d
**를 사용하여 사전 값2의 압축을 풀면 다음이 생성됩니다.
values2 = { 'c': 10, 'd': 15 } s = add(**values2)
이는 다음과 같습니다.
s = sum(a=1, b=2, c=10, d=15)
및 조합:*
둘 다 및 *는 동일한 함수 호출에서 동시에 사용할 수 있습니다. 예를 들어:
values1 = (1, 2) values2 = { 'c': 10, 'd': 15 } s = add(*values1, **values2)
이것은 다음과 동일합니다:
s = sum(1, 2, c=10, d=15)
매개변수 압축 해제:
인수 압축 해제 외에도 및 *는 함수에서 매개변수 압축 해제에도 사용할 수 있습니다. 정의.
예:
def add(*values): # ... def get_a(**values): # ...
성능 의미:
및 * 사용으로 인한 성능 영향은 일반적으로 미미합니다. 압축 풀기 작업에는 최소한의 오버헤드가 포함되며 기능 자체의 효율성에는 영향을 미치지 않습니다. 그러나 과도한 언패킹은 코드의 가독성과 유지 관리성을 떨어뜨릴 수 있습니다.
위 내용은 단일 및 이중 별표(*)는 Python 함수에서 인수를 어떻게 압축 해제합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!