python/응용

functools.partial() 활용

wefree 2023. 7. 7. 21:37

 

좀 더 간단한 예제 코드를 만들어 봄

import functools
from typing import Callable


def circle_area(pi: float, radius: float) -> float:
    return pi * radius * radius


CircleAreaFunction = Callable[[float], float]


def is_big_circle(radius: float, f: CircleAreaFunction) -> bool:
    area: float = f(radius)
    if area >= 310:
        return True
    else:
        return False


result314 = is_big_circle(10, functools.partial(circle_area, 3.14))
result3 = is_big_circle(10, functools.partial(circle_area, 3))
print(result314, result3)

출력 결과: True False