일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- github
- C++
- Data Structure
- gitlab
- git
- 포인터
- jupyter lab
- 도커
- c# 윈폼
- Flutter
- dart 언어
- 깃
- Python
- Algorithm
- c# winform
- 구조체
- docker
- 다트 언어
- Houdini
- vim
- C# delegate
- jupyter
- c#
- C언어 포인터
- HTML
- c# 추상 클래스
- 플러터
- Unity
- 유니티
- c언어
Archives
- Today
- Total
nomad-programmer
[Programming/Python] functools의 partial 본문
함수를 만들어서 넘길 때 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
'Programming > Python' 카테고리의 다른 글
[Programming/Python] pyinstaller 파일 용량 문제 (0) | 2020.07.09 |
---|---|
[Programming/Python] License 생성, 부여, 검사 등의 모듈 (0) | 2020.03.24 |
[Programming/Python] .py file compile (0) | 2020.03.23 |
[Programming/Python] 코드 난독화(obfuscation) / Source Code 보호 (0) | 2019.12.23 |
[Programming/Python] 컴파일 및 디컴파일 (0) | 2019.12.23 |
Comments