[python] lambda
[python] lambda
lambda란?
재사용되지 않을 일회성 함수를 간단히 사용하고 싶을 때 사용하는 함수입니다.
의도는 그렇지만, 변수에 lambda함수를 저장하면 재사용도 가능합니다.
보통 파이썬의 함수는 다음과 같이 만듭니다.
def print_num(x, y):
for i in range(x, y):
print('num ', i , ' is printed')
print_num(1, 4)
# num 1 is printed
# num 2 is printed
# num 3 is printed
먼저 함수를 정의하고 사용해야하는데요,
좀더 간단히 정의한다면 다음과 같이 쓸 수 있습니다.
(lambda x, y: [print('num ', i, ' is printed') for i in range(x, y)])(1, 4)
# num 1 is printed
# num 2 is printed
# num 3 is printed
lambda 다음에 함수가 받을 변수를 적고(x, y) : 후에 로직을 적으면 됩니다.
몇가지 예를 더 보겠습니다.
ex1 = lambda x, y, z: x+y+z
print('ex1(1, 2, 3) = ', ex1(1, 2, 3))
# ex1(1, 2, 3) = 6
ex2 = lambda: print('print ex2')
ex2()
# print ex2