# %% lambda 함수 정의
def show(s):
print(s)
ref = show
print(ref("adios~"))
ref =lambda s: print(s)
print(ref("helllllo"))
f1 = lambda n1, n2: n1+n2
print(f1(10,8))
adios~
helllllo
18
def ref1(s):
return s
print(ref1("adios"))
ref = lambda s: s
# ref = lambda s: return s 이렇게 하면 오류가 난다
print(ref('adios')) # ref = lambda s: return s 와 같은 코드
f2 = lambda s: len(s)
print(f2("adios"))
f3 = lambda : print("adios") #매개변수가 없을 때
print(f3())
adios
adios
5
adios
# %% 함수도 객체로 본다
def fac_fac(n):
def exp(x):
return x ** n
return exp
f1 = fac_fac(2)
f2 = fac_fac(3)
print(f1(4)) # 4의 거듭제곱은?
print(f2(4)) # 4의 세제곱은?
16
64
# %% 람다 기반 함수정의
def fac_fac(n):
return lambda x: x**n
f1 = fac_fac(2)
f2 = fac_fac(3)
print(f1(4)) # 4의 거듭제곱은?
print(f2(4)) # 4의 세제곱은?
16
64
기본적인 함수의 틀을 가지고 그 안에서 람다식으로 작성
728x90
'Dev. > Python' 카테고리의 다른 글
python :: iter 이터레이터 (0) | 2022.08.04 |
---|---|
python :: list comprehension 리스트 컴프리헨션 (0) | 2022.08.02 |
python :: 얕은 복사(shallow copy) (0) | 2022.08.02 |
Python :: mutable / immutable (0) | 2022.07.26 |
Python :: 예외처리 / 사용자 예외 처리, 파일 입출력 (0) | 2022.07.20 |
댓글