[ 콜백 함수, lambda, map, filter 함수 ]
- 콜백함수
- lambda
- map
- filter
콜백 함수
- 호출 방향이 반대임.
- 즉, 사용자 정의 코드에서 함수를 호출하는 것이 아니라 함수에서 사용자 정의 코드를 호출하는 함수
- 함수를 함수의 인자로 전달받아서 함수에서 인자로 전달받은 함수를 호출하는 것
lambda 함수
- 간단한 알고리즘 코드 블록
- 메모리에 저장 안되므로 간단한 연산에 사용
- lambda 입력인자목록 : 수행코드(연산식)
map 함수
- 순서가 있는 데이터들에 (ex, 리스트) 함수의 결과를 적용시키기 위해 사용
filter 함수
- return 값이 True or False (<-- map 함수와의 차이)
# callback
def square(val):
return val ** 2
def caller(func, val):
if type(val) != str:
return func(val)
else:
return 'val Error'
print(caller(square, 2))
print(caller(square, '2'))
# lambda
res = lambda a, b : a+b
# map()
ls = list(range(10))
def even(i):
if i % 2 == 0:
return 'even'
else:
return 'odd'
print(list(map(even, ls)))
# map 없이 사용
result = []
for i in ls:
if i % 2 == 0:
result.append('even')
else:
result.append('odd')
print(result)
# filter() - return 값이 True or False (map 함수와의 차이)
ls = list(range(10))
def even(i):
if i % 2 == 0:
return True
else:
return False
print(list(filter(even, ls)))
'Python' 카테고리의 다른 글
[ Thread ] 스레드 (3) - Lock() (0) | 2022.12.16 |
---|---|
[ Thread ] 스레드 (2) - 멀티 스레드 (0) | 2022.12.15 |
[ Thread ] 스레드 (1) (0) | 2022.12.14 |
[Socket] 소켓(Socket) 프로그래밍 (1) (1) | 2022.09.21 |
[Python] enumerate 함수 (0) | 2022.01.26 |