Global News One에서 전체 기사 읽기
functools.partial은 기존 함수에 인수를 부분적으로 적용하여 새 함수를 생성합니다. 이는 특정 인수가 반복적이거나 고정된 시나리오에서 함수 호출을 단순화하는 데 도움이 됩니다.
Python의 functools.partial 함수를 사용하면 함수의 인수나 키워드 중 일부를 "고정"하여 더 적은 수의 매개변수로 새 함수를 만들 수 있습니다. 이는 기능의 특정 매개변수를 수정하고 다른 매개변수는 유연하게 유지하려는 경우에 특히 유용합니다.
from functools import partial
partial(func, *args, **kwargs)
반환된 객체는 고정 인수가 "동결"된 새로운 함수이며, 새 함수를 호출할 때 나머지 인수만 제공하면 됩니다.
def power(base, exponent): return base ** exponent # Create a square function by fixing exponent = 2 square = partial(power, exponent=2) # Now, square() only needs the base print(square(5)) # Output: 25 print(square(10)) # Output: 100
여기서 부분은 항상 지수=2를 사용하는 새로운 함수 사각형을 생성합니다.
여러 인수가 있는 함수가 있고 고정된 값을 사용하여 자주 호출한다고 가정해 보겠습니다.
def greet(greeting, name): return f"{greeting}, {name}!" # Fix the greeting say_hello = partial(greet, greeting="Hello") say_goodbye = partial(greet, greeting="Goodbye") print(say_hello("Alice")) # Output: Hello, Alice! print(say_goodbye("Alice")) # Output: Goodbye, Alice!
부분을 사용하여 지도와 같은 작업에 기능을 적용할 수 있습니다.
def multiply(x, y): return x * y # Fix y = 10 multiply_by_10 = partial(multiply, y=10) # Use in a map numbers = [1, 2, 3, 4] result = map(multiply_by_10, numbers) print(list(result)) # Output: [10, 20, 30, 40]
Partial은 이미 기본 인수가 있는 함수와 원활하게 작동합니다.
def add(a, b=10): return a + b # Fix b to 20 add_with_20 = partial(add, b=20) print(add_with_20(5)) # Output: 25
Pandas와 같은 라이브러리에서 부분을 사용하여 반복 작업을 단순화할 수 있습니다.
from functools import partial
partial(func, *args, **kwargs)
def power(base, exponent): return base ** exponent # Create a square function by fixing exponent = 2 square = partial(power, exponent=2) # Now, square() only needs the base print(square(5)) # Output: 25 print(square(10)) # Output: 100
def greet(greeting, name): return f"{greeting}, {name}!" # Fix the greeting say_hello = partial(greet, greeting="Hello") say_goodbye = partial(greet, greeting="Goodbye") print(say_hello("Alice")) # Output: Hello, Alice! print(say_goodbye("Alice")) # Output: Goodbye, Alice!
functools.partial을 사용하면 특히 반복적인 함수 호출이나 고차 함수를 처리할 때 코드를 단순화하고 정리할 수 있습니다. 더 많은 예시나 고급 사용 사례를 원하시면 알려주세요!
위 내용은 Python에서 `functools.partial`은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!