오늘/오늘의 함수

[Python] functools.partial

hwijin97 2021. 12. 4. 14:01

Python 3.4 버전에서 추가된 기본라이브러리 클래스이다.

인자로 받은 함수객체에 keywords를 지정한 함수처럼 동작하는 새 partial 객체를 반환한다.
functools.partial( func , / , *args, **keywords ) 
from functools import partial
from tensorflow import keras
FixedConv2D = partial(keras.layers.Conv2D, kernel_size=3, strides=1, padding='same', activation='relu')
model.add(FixedConv2D(filters=32))

*args 는 키워드 지정없이 인자를 지정한 경우이고,

**keywords는 키워드 지정하여 인자를 지정한 경우이다.

FixedConv2D = partial(keras.layers.Conv2D, 3, 1, padding='same', activation='relu')
#*args = [3, 1]
#**kwargs = {'padding' : 'same', 'activation' : 'relu'}

 

이런식으로 함수의 인자 및 키워드를 <고정> 하고 단순화된 함수에 나머지 부분을 응용하기위해서 사용된다.