-
파이썬 - 람다 함수python 2021. 3. 16. 23:28
lambda는 함수를 생성할 때 사용하는 예약어로 def과 동일한 역할을 한다. 람다 표현식은 식 형태로 되어 있다고 해서 람다 표현식(lambda expression)이라고 부른다. 보통 함수를 한줄로 간결하게 만들 때 작성하고 간편하기 때문에 다른 함수의 인수로 넣을 때 자주 사용한다.
lambda 매개변수 : 표현식
def으로 표현된 함수를 lambda 표현식으로 바꿔보자
>>> def plus_ten(x): ... return x + 10 ... >>> plus_ten(1) 11
>>> plus_ten = lambda x: x + 10 >>> plus_ten(1) 11
람다 표현식은 변수에 할당하지 않고 표현식 자체를 바로 호출할 수 있다.
표현식을 괄호로 묶은 뒤에 인수도 괄호로 묶어서 뒤에 배치하면 된다.
>>> (lambda x: x + 10)(1) 11
람다 표현식 안에는 변수를 만들 수 없다.
>>> (lambda x: y=10: x+y)(1) SyntaxError: invalid syntax
람다 표현식도 일반 함수처럼 조건부 표현식을 사용할 수 있다.
lambda 매개변수들: 식1 if 조건식 else 식
(주의점)
1. 람다 표현식 안에서 조건부 표현식 if, else를 사용할 때는 : (콜론)을 붙이지 않는다.
2. if를 사용했다면 반드시 else를 사용해야 한다. (사용하지 않는다면 문법 에러가 발생한다.)
3. 표현식 안에서는 elif를 사용할 수 없다. if와 else를 조합해서 표현한다.
'python' 카테고리의 다른 글
파이썬 - docstring (0) 2021.03.19 파이썬 - 이터레이터 (0) 2021.03.18 파이썬 - 인수(argument) (0) 2021.03.16 클래스 - 메서드 오버라이딩과 다형성 (0) 2021.03.11 클래스 - 클래스 관계 (0) 2021.03.11