28. 파이썬 람다

파이썬 2024. 1. 31. 16:54
반응형

 

람다함수이름없는 함수입니다 ◀

 

함수를 만들 때 고민하게 되는 것 중 하나가 함수의 이름입니다.

그런데 함수의 이름이 크게 의미를 갖지 않는 경우도 있습니다.

이러한 경우에 이름 없는 함수를 만들어서

고민거리 하나를 줄이는 것이 좋지 않을까요?

 

 

그럼 '이름 없는 함수'의 정의 방법을 알아보도록 합시다.

def show(s):
    print(s)

ref = show   #show 함수를 ref가 참조하게 한다. 함수가 객체라 가능!!
ref('python')   #ref로 show 함수를 호출

ref  =  show 

위 명령은 show 함수에 ref라는 이름을 하나 더 붙인것입니다.

 

따라서 show라는 이름으로 호출하거나

ref라는 이름으로 호출하거나 그 결과는 같습니다.

 

 

위 예제를 람다기반의 함수로 정의해 보겠습니다.

ref = lambda s : print(s)   # 람다 기반의 함수로 정의
ref('python')

 

위의 코드를 보면 함수 이름만 없어진 게 아니라 전체적인 코드도 간결해졌습니다.

 

이렇듯 이름 없이 만들어진 함수를 가르켜

'람다 함수(lambda function)'

또는

'람다식(lambda expression)'

또는

확 줄여서 그냥

'람다'

라고 합니다.

 

 

 

[ 예제 1 ]  두 수의 합을 구하는 프로그램을 람다함수로 작성해 보세요.

f1 = lambda n1, n2 : n1 + n2
print( f1(3, 5) )

 

 

[ 예제 2 ] 문자열의 길이를 구하는 프로그램을 람다함수로 작성해 보세요.

f1 = lambda s : len(s)
slen = f1('python-lambda')
print(slen)

 

 

[ 예제3 ]  매개 변수가 없는 경우에는 그 자리를 비워두면 됩니다.

f3 = lambda : print('okokok')
f3()

 

 

람다식은 최대한 간단하게 작성하는 것이 좋습니다.

조금만 복잡해져도 이해하기 어려운 내용이 되기 때문입니다.

 

반응형

'파이썬' 카테고리의 다른 글

30. 파이썬 map함수 - 2  (0) 2024.02.04
29. 파이썬 iterable 객체와 iterator 객체  (0) 2024.01.31
27. 파이썬 filter 함수  (0) 2024.01.31
26. 파이썬 map함수 - 1  (0) 2024.01.30
25. 파이썬 입력 sys 라이브러리  (0) 2023.07.29
Posted by 명문코딩컴퓨터
,