오늘/오늘의 함수

[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'}

 

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

 

'오늘 > 오늘의 함수' 카테고리의 다른 글

[numpy] np.ufunc.accumulate  (0) 2021.12.08
[numpy] np.flip  (0) 2021.12.08
[numpy] np.linspace, np.meshgrid np.logspace  (0) 2021.10.31
[sklearn] stats.expon, stats.reciprocal  (0) 2021.10.28
[numpy] np.cumsum, np.concatenate  (0) 2021.10.18