[TIL] Python lambda 함수 기초

오수희·2020년 10월 29일
1

python

목록 보기
5/5
post-thumbnail

강의를 듣다가 아직 내가 잘 모르는 파이썬 lambda 함수가 나와 기초 내용을 적어둔다.
보통 파이썬에서 함수라면 def something(x):으로 시작하게 마련인데, lambda 함수는 잠깐 활용할 함수를 간단히 만들기 좋은 용도라고 한다. 기능은 일반 함수랑 같고, 형태는 훨씬 간결하다. 예를 들면

일반 함수

def add_nine(x):
    return x+9

이 함수는 아래 함수와 결과가 동일하다.
add_nine(1)처럼 값을 바로 입력하거나, x값을 먼저 정의한 후 add_nine(x) 이렇게 입력하면 기대하는 결과를 얻을 수 있다.

lambda 함수

add_nine = lambda x: x+9

if 절이 들어간 함수도 lambda 함수로 간결하게 만들 수 있다. 여기서는 시간을 구하기 위해 우선 datetime 라이브러리를 import 했다.

일반 함수 with if절

import datetime

def am_i_late(h):
    if h < datetime.time(10, 0, 0):
        return 'on time'
    else:
        return 'you\'re late'

10시 이전 시간을 입력하면 'on time'이, 아니면 'you're late'이 출력된다. 아래 lambda 함수에서도 동일한 결과가 나온다. 단, 입력하는 값도 datetime.time 형태여야 한다.

lambda 함수 with if절

am_i_late_again = lambda h: 'on time' if h < datetime.time(10, 0, 0) else 'you\'re late'

람다람다 자꾸 람다라고 하니까 '이 함수는 뭐뭐람다..' 같은 느낌으로 외워도 좋겠다고 생각했다. ...

profile
프로덕트 마케터인데 이제 데이터를 좀 곁들인.

0개의 댓글