[python] lambda

숲사람·2022년 7월 17일
0

유용한 도구

목록 보기
4/5

lambda 기초 이해

def func(arg):
    return ret_val

func = lambda arg : ret_val
  • 함수를 정의하는 함수
  • 특정 스코프에서만 일시적으로 사용할수 있는 함수
  • 간단한 wraper용 기본 함수를 만들때 사용하면 좋을듯.?
>>> def inc(n):
	return lambda x: x + n

>>> inc_by_2 = inc(2)
>>> inc_by_4 = inc(4)
>>> print(inc_by_2(12))
14
>>> print(inc_by_4(12))
16
>>> print(inc(2)(12))
14
  • 이와 같은 기법을 함수형 프로그래밍에서 클로저(Closure) 라고 부른다고함. 이 영상(코드없는 프로그래밍)에서 javascript와 c++에서 이 기법을 사용하는 방법을 소개함.

map

예전 수학시간에 배운 정의역과 치역.. 참고로 map은 python2에서는 list로 반환하지만 python3에서는 class 로 반환한다. 3에서 list로 받으려면 아래와 같이.

  • python2
>>> map(lambda x: x*x, [1,2,3,4,5])
[1, 4, 9, 16, 25]
  • python3
>>> a = map(lambda x: x*x, [1,2,3,4,5])
>>> list(a)
[1, 4, 9, 16, 25]
profile
기록 & 정리 아카이브 용도 (보다 완성된 글은 http://soopsaram.com/documentudy)

0개의 댓글