Language/Python

[Python] Library | 01. functools

Rayi 2023. 5. 12. 22:57

 functools 라이브러리는 기존에 만들어진 함수에서 하나 이상의 인수를 고정한 새로운 함수를 정의할 때 사용합니다. 주로 사용하는 함수는 functools.partial( ) 입니다.

 

partial(func, arg_1, arg_2, ...) 인수가 고정된 함수를 반환한다
func function 인수를 고정할 함수
arg_n * 고정할 인수

 

 다음과 같은 함수 func1( ) 이 있다고 가정합시다.

def func1(arg1, arg2, arg3):
	if(arg1 == 0):
    	return arg2
    else:
    	return arg3

 

 이 func1( )를 기반으로 항상 두 번째 인수를 반환하는 함수 func2( )와 항상 세 번째 인수를 반환하는 함수 func3( )를 정의하고자 할 때, 다음과 같이 나타낼 수 있습니다.

def func2(arg2, arg3):
	return func1(0, arg2, arg3)

def func3(arg2, arg3):
	return func1(1, arg2, arg3)

 

여기서 functools.partial을 사용한다면 다음과 같이 간단히 나타낼 수 있습니다.

func2 = functools.partial(func1, 0)

func3 = functools.partial(func1, 1)

 

728x90