728x90
반응형

argument-unpacking 2

매개 변수에 붙는 ** 와 * 의 의미

질문 : ** (이중 별표 / 별표) 및 * (별표 / 별표)는 매개 변수에 대해 무엇을합니까? 다음 메서드 정의에서 * 및 ** 는 param2 무엇을합니까? def foo(param1, *param2): def bar(param1, **param2): 답변 *args 및 **kwargs 는 Python 문서의 함수 정의 에 대한 추가 섹션에 설명 된대로 함수에 임의의 수의 인수를 허용하는 일반적인 관용구입니다. *args 는 모든 함수 매개 변수 를 튜플로 제공합니다 . def foo(*args): for a in args: print(a) foo(1) # 1 foo(1,2,3) # 1 # 2 # 3 **kwargs 는 형식 매개 변수에 해당하는 것을 제외한 모든 키워드 인수를 사전으로 제공합니다. ..

함수 호출에서 별표 및 이중 별표 연산자가 의미하는 것

질문 : 함수 호출에서 별표 및 이중 별표 연산자는 무엇을 의미합니까? * zip(*x) 또는 f(**k) 와 같은 코드에서와 같이 Python에서 무엇을 의미합니까? 답변 단일 별표 * 는 시퀀스 / 컬렉션을 위치 인수로 압축 해제하므로 다음과 같이 할 수 있습니다. def sum(a, b): return a + b values = (1, 2) s = sum(*values) 이것은 실제로 다음과 같이 실행되도록 튜플을 압축 해제합니다. s = sum(1, 2) 이중 별표 ** 는 딕셔너리와 명명 된 인수 만 사용하여 동일합니다. values = { 'a': 1, 'b': 2 } s = sum(**values) 다음을 결합 할 수도 있습니다. def sum(a, b, c, d): return a + b ..

728x90
반응형