Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

nomad-programmer

[Programming/Python] functools의 partial 본문

Programming/Python

[Programming/Python] functools의 partial

scii 2020. 3. 11. 22:28

함수를 만들어서 넘길 때 lambda보다는 partial을 자주 사용한다. 

간단한 예)

from functools import partial

def sum(a, b):
	print(a + b)
    
f = partial(sum, 55)
f(1)

# 결과
56

 

lambda와 partial의 차이점

lambda와 partial은 비슷하지만 차이점이 있다. 람다의 경우 연산이 모두 끝난 후 코드가 생성된다. 반면 partial은 연산 도중 코드가 생성된다.

lambda 예)

# lambda의 예

funcs = list()
for i in range(5):
	funcs.append(lambda: print(i))
    
for f in funcs:
	f()
    
# 결과
4
4
4
4
4

partial 예)

# partial의 예

funcs = list()
for i in range(5):
	funcs.append(partial(print, i)
    
for f in funcs:
	f()
    
# 결과
0
1
2
3
4
Comments