[ 콜백 함수, 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

+ Recent posts