컴퓨터/Python
종종 다양한 프로그래밍 언어를 접하다 보면 람다식이라는 들어봤을 겁니다. 프로그래밍 언어에서 람다식을 간단하게 정의하자면 함수를 간단하게 표현하는 문법입니다.
아래와 같이 프로그래머가 일반적인 표현으로 함수를 만들었다고 가정합시다.
def sum(a,b):
return a+b
이 함수를 람다식으로 표현한다면 아래와 같이 표현이 가능합니다.
sum_lambda = lambda a,b:a+b
조금 더 간결하게 표현이 가능한 식이라는 것이죠.
람다식 문법을 만드는 방법은 아래와 같습니다.
lambda 인자 : 수식
간단하게 위의 예제를 통해 몇 가지 lambda 식을 사용하는 방법에 대해 알아보도록 하겠습니다.
print((lambda a,b : a+b)(5,5))
함수명이 없이 1회성으로 기능만을 구현할 때 가능합니다.
sum_lambda = lambda a,b:a+b
print(sum_lambda(5,5))
이름을 지정하여 사용하여 반복성을 강화 할 수도 있습니다.
장점은 람다식 표현으로 함수를 간단하게 작성하여 사용할 수 있습니다.
하지만 여러가지 연산의 표현을 하기에는 제약 조건이 많습니다.
Python에 내장되어 있는 함수인 map함수를 가지고 예를 들어 보겠습니다.
map 함수의 원형입니다.
map(함수,리스트)
map 함수의 기능입니다.
map 함수는 특정 리스트를 첫번 째 인자 함수에 적용하여 새로운 리스트를 만들어 줍니다.
즉, 특정 리스트에 조건을 걸어 새로운 리스트로 만들어주기 위한 함수입니다.
이때 기본적인 함수표현으로 첫 번째 인자(조건) 부분을 만들려면 아래와 같습니다.
def func(x):
return x ** 2
b = map(func,range(5))
print(list(b))
조건 부분의 내용을 확인하려면 함수를 정의한 부분을 가야만 확인할 수 있습니다. 소스코드가 길어지고 함수의 위치를 찾는 것은 상당히 귀찮은 일이 될 수도 있습니다.
하지만 람다식 표현을 사용한다면 아래와 같이 직관적으로 바뀔 수 있게 됩니다.
a = map(lambda x: x ** 2, range(5))
print(list(a))
바로 map함수에 들어가는 조건을 확인할 수 있게 되는 것입니다. 이런 식으로 람다식 표현을 잘 활용하게 된다면 효율적인 소스 관리가 가능하게 됩니다.
Python - class 2 (self, __init__ 키워드) (0) | 2022.01.19 |
---|---|
Python - class1(객체 지향을 지원한다) (0) | 2022.01.18 |
Python - Tuple(튜플) (0) | 2021.11.24 |
Python - 함수(Function) (0) | 2021.11.18 |
Python - 주석 (Comment) (0) | 2021.11.16 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet