람다 표현식으로 함수 만들기
람다 표현식을 사용하기 전에 먼저 숫자를 받은 뒤 10을 더해서 반환하는 함수 plus_ten을 만들어보겠습니다.
def plus_ten(x):
return x + 10
plus_ten(1)
11
return x + 10으로 매개변수 x에 10을 더한 값을 반환하는 간단한 함수입니다.
그럼 이 plus_ten 함수를 람다 표현식으로 작성해보겠습니다. 람다 표현식은 다음과 같이 lambda에 매개변수를 지정하고 :(콜론) 뒤에 반환값으로 사용할 식을 지정합니다.
- lambda 매개변수들: 식
lambda x: x + 10
<function <lambda> at 0x02C27270>
실행을 해보면 함수 객체가 나오는데, 이 상태로는 함수를 호출할 수 없습니다. 왜냐하면 람다 표현식은 이름이 없는 함수를 만들기 때문입니다. 그래서 람다 표현식을 익명 함수(anonymous function)로 부르기도 합니다.
lambda로 만든 익명 함수를 호출하려면 다음과 같이 람다 표현식을 변수에 할당해주면 됩니다.
plus_ten = lambda x: x + 10
plus_ten(1)
11
이제 람다 표현식을 살펴보면 lambda x: x + 10은 매개변수 x 하나를 받고, x에 10을 더해서 반환한다는 뜻입니다. 즉, 매개변수, 연산자, 값 등을 조합한 식으로 반환값을 만드는 방식입니다. 다음그림과 같이 def로 만든 함수와 비교해보면 쉽게 알 수 있습니다.
'Engineering WIKI > Python' 카테고리의 다른 글
[Python] zip(*iterable) (0) | 2020.11.11 |
---|---|
[Python] f-string (0) | 2020.04.18 |
[Python] 리스트 문자열 합치기 .join() (0) | 2020.03.29 |
[Python] 파이썬 에러 pip upgrade fail, 'NoneType' object has no attribute 'bytes' (0) | 2020.03.09 |
[Python] pip freeze (0) | 2020.02.02 |
[Python] shutil 함수 (0) | 2019.07.03 |
[Python] 객체와 인스턴스의 차이 (0) | 2019.07.03 |
[Python] 파이썬2,3 동시사용 (0) | 2019.07.02 |