Python 함수에 인수를 바인딩하는 방법
Python에서는 나중에 실행하기 위해 함수에 인수를 바인딩해야 하는 상황이 발생할 수 있습니다. 추가 인수가 필요하지 않습니다. 예를 들어보세요.
def add(x, y): return x + y add_5 = magic_function(add, 5) assert add_5(3) == 8
이 시나리오에서는 인수 5를 add 함수에 바인딩할 수 있는 Magic_function을 결정해야 합니다.
해결책은 functools.partial 모듈을 사용하는 데 있습니다. :
import functools add_5 = functools.partial(add, 5) # Bind '5' as the first argument to 'add' assert add_5(3) == 8 # Call 'add_5' with '3' as the second argument
functools.partial은 미리 설정된 인수로 원래 함수를 래핑하는 호출 가능 객체를 효과적으로 생성합니다. 이를 통해 나중에 고정 인수를 명시적으로 제공하지 않고도 함수를 실행할 수 있습니다.
다음 코드는 람다 표현식을 사용하는 동등한 접근 방식을 보여줍니다.
print_hello = lambda *a, **kw: sys.stdout.write("Hello world\n", *a, **kw)
여기서 print_hello에 대한 인수는 다음과 같습니다. sys.stdout.write에 제공된 것처럼 처리되므로 실행 중에 유연한 인수 전달이 가능합니다.
위 내용은 `functools.partial`을 사용하여 Python 함수에 대한 인수를 어떻게 미리 설정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!