파이썬, 람다(lambda) 함수를 다른 함수의 인수 값으로 전달하는 예제
글. 오상문 sualchi@daum.net
함수의 전달인수 값으로 람다 함수 이름을 전달할 수도 있습니다. 람다 함수를 전달인수 값으로 사용하는 계산 함수 예제는 다음과 같습니다. 일반 함수처럼 람다 함수 이름을 그대로 전달하면 됩니다.
# 더하기 함수
add = lambda a,b: a+b
# 빼기 함수
sub = lambda a,b: a-b
# 곱하기 함수
mul = lambda a,b: a*b
# 나누기 함수(결과는 float 형)
div = lambda a,b: None if b==0 else a/b
# 나머지 함수
mod = lambda a,b: a%b
# 계산 함수
# 위에서 만든 add, sub, mul, div, mod 람다 함수를 전달받아 계산 값을 돌려준다,
def calc(a, b, func):
return func(a, b)
# 테스트
print(calc(20,6, add)) # 26
print(calc(20,6, sub)) # 14
print(calc(20,6, mul)) # 120
print(calc(20,6, div)) # 3.33333333333333353.
print(int(calc(20,6, div))) # 3
print(calc(20,0, div)) # None
print(calc(20,6, mod)) # 2
[실행 결과]
26
14
120
3.3333333333333335
3
None
2
[참고] 함수 인수를 전달할 때 이름없는 람다 함수를 직접 지정할 수 있습니다.
예를 들어 clac 함수에 더하기 람다 함수를 직접 넣어주려면 다음처럼 작성할 수 있습니다.
calc(10, 20, lambda a,b: a+b)
<이상>
'Python 기초' 카테고리의 다른 글
파이썬, N Queen 퀸 배치 경우 수 구하는 백트래킹 예제 (0) | 2020.07.06 |
---|---|
파이썬, 텍스트 파일 읽기 쓰기 예제 (0) | 2020.02.06 |
파이썬, 함수를 다른 함수의 인수 값으로 전달하는 예제 (0) | 2020.02.05 |
파이썬, 문자열로 리스트, 튜플, 세트 자료를 문자 단위로 초기화 (0) | 2020.02.04 |
파이썬, 문자열 뒤가 특정 내용과 일치하는가 (0) | 2020.02.04 |