파이썬 코딩을 하다 보면 함수에 모든 인자가 아닌 특정 부분 인자만 고정시키고 다른 인자에는 for loop를 돌면서 동적으로 할당하고 싶을 때가 있다. 파이썬에서는 functools 모듈의 partial을 이용하면 이 모든 것이 가능하다.
따라서 이번 포스팅에서는 functools 모듈의 partial의 사용법과 예제를 알아보자.
1. partial 사용법
partial은 첫번째 인자로 함수를 넣어주고 뒤이어 해당 함수의 인자값을 정해주는 방식이다.
partial( '함수', '인자1', '인자2', . . . )
2. partial 예제
사용법을 알았으니 실제로 써보자. 다음 코드는 a, b, c, d 인자를 갖는 함수 func에서 a, b인자를 먼저 고정시켜놓고 나머지 c, d 인자에 대한 함수 g를 만들어낸다.
from functools import partial
def func(a, b, c, d):
return 1000*a+100*b+10*c+d
g = partial(func, a=4, b=3) ## func 함수의 a, b인자 고정
print(g(c=2, d=1))
이것만 보면 대단하지 않을 수 있어서 for loop를 이용하여 partial에 위대함을 몸소 느껴보자.
def func(a, b, c, d):
return 1000*a+100*b+10*c+d
g = partial(func, a=4, b=3) ## func 함수의 a, b인자 고정
for c, d in zip(range(10), range(10)):
print(g(c=c, d=d))
'프로그래밍 > Python' 카테고리의 다른 글
[Python] Python에서 오류가 발생하는 경우 StackOverflow로 검색하기. (0) | 2022.07.19 |
---|---|
[오류 해결] Glyph 8722 missing from current font (Matplotlib에서 빼기, '-', minus, 음수 부호 표기 오류) (0) | 2022.07.18 |
파이썬(Python) 내장 함수 iter 사용법 (feat. next) (404) | 2022.07.14 |
파이썬(Python) 내장함수 filter를 이용하여 리스트에서 특정 조건을 만족하는 원소 추출하기 (393) | 2022.07.12 |
[Python] 파이썬 모듈(라이브러리, 패키지) 버전 확인하기(__version__, pip) (386) | 2022.05.11 |
댓글