반응형
SMALL
lambda 함수
함수 호출 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #-*- coding: utf-8 -*- ''' - lambda 함수 익히기 ''' def printHi(): print "hi hi hi" if __name__ == '__main__': # main 으로 실행했을때 실행순서가 들어오는 곳 # python 에서는 함수도 객체이므로 변수에 담을수 있다. # 함수 호출 printHi() # 함수를 참조해서 변수에 대입 a = printHi # 변수에 대입된 함수의 참조값을 이용해서 함수 호출 가능 a() | cs |
함수를 그냥 호출 할 수도 있고
( 15번째 line 에서 hi hi hi 가 한번 호출 되고 )
함수를 참조해서 변수에 대입하고 그걸 호출 할 수도 있어
( 19번재 line 에서 hi hi hi 가 한번 호출 됨 )
lambda 함수 정의해서 사용하기
1 2 3 4 5 6 7 8 9 10 11 12 13 | #-*- coding: utf-8 -*- if __name__ == '__main__': print "lambda 함수 정의해서 사용하기" print "lambda 함수 사용 결과 :", (lambda x, y: x+y)(10, 10) # lambda 함수 만들어서 참조값 변수에 담기 myLam = lambda x, y: x*y print "myLam(10, 10) : ", myLam(10, 10) | cs |
보통 함수를 하나 정의 해 두고
def getSun(x, y):
return X+y
메인 안쪽에서
result = getSum(10, 10)
print "result:", result
이렇게 출력해서 결과를 뽑을텐데
lamda 함수를 사용하면
print "lambda 함수 사용 결과 :", (lambda x, y: x+y)(10, 10)
이거 한줄로 끝남
그 결과가 lambda 함수 사용 결과 : 20
(lambda x, y:x+y)(10, 10) 는 javascript 에서 (function(x,y){ return x+y; })(10, 10) 과 같다
익명의 함수( lambda x, y: x*y )를 변수( myLam )에 담아 놓고
그 함수를 담은 것을 호출 한 것임
그 결과가 myLam(10, 10) : 100
반응형
'FrameWork > Python' 카테고리의 다른 글
파이썬 예외처리 try / except (0) | 2017.08.11 |
---|---|
파이썬 Decorator (0) | 2017.08.10 |
파이썬 Extends(상속) (2) | 2017.08.10 |
파이썬 Class (0) | 2017.08.10 |
파이썬 main (0) | 2017.08.10 |