Python 함수의 인수 바인딩 이해
미리 정의된 특정 인수를 사용하거나 더 적은 추가 인수를 사용하여 나중에 호출할 수 있는 함수를 생성한다고 가정해 보겠습니다. 인수. Python에서 이를 어떻게 달성할 수 있나요?
해결책: functools.partial
해결책은 functools.partial 함수를 사용하는 데 있습니다. 이는 인수의 일부 또는 전체가 고정된 함수를 래핑하는 콜러블을 반환합니다. 이렇게 하면 고정된 인수가 이미 적용된 래핑된 함수를 나중에 호출할 수 있습니다.
사용 예
다음을 사용하여 인수를 바인딩하는 방법을 살펴보겠습니다. functools.partial:
import functools print_hello = functools.partial(sys.stdout.write, "Hello world\n") print_hello()
출력:
Hello world
이 코드는 호출 시 항상 "Hello world"를 인쇄하는 print_hello 함수를 생성합니다. functools.partial 함수는 sys.stdout.write의 첫 번째 인수를 "Hello world" 문자열에 바인딩했습니다.
동등한 람다 표현식
위의 코드는 동일합니다. 다음 람다 식으로 변환합니다.
print_hello = lambda *a, **kw: sys.stdout.write("Hello world\n", *a, **kw)
즉, functools.partial은 편리한 기존 함수에 인수를 부분적으로 적용하여 새 함수를 만드는 방법입니다.
위 내용은 functools.partial을 사용하여 Python 함수에 대한 인수를 미리 정의하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!