2016-09-04 5 views
0

와 변수 정의되지 않은 오류가 발생 내가, 내가 sum = a, b, c: a + b + c을 할 때이 오류가 얻을 fib = lambda a, b: b, a + b 그러나파이썬 람다는 여러 인수

, "'b' is not defined"로에 문제가 있어요 이해 한 라인 피보나치 순서를 작성하려고 할 때 . sum(1, 2, 3)이 완벽하게 실행되고 6을 반환합니다.

전역 변수를 조사한 결과, 시작하기 전에 a와 b를 Null로 설정하면 오류가 발생하지 않지만이를 수행 할 수 없다는 것을 알았습니까? 그냥려고하는 경우에 lambda을 사용하여 실제 목적은 없다, 그런데

fib = (lambda a, b: b), a + b 

:

답변

4

당신은 람다 몸 주위에 괄호를 넣어해야합니다

fib = lambda a, b: (b, a + b) 

그렇지 않으면 파이썬은 그것을 생각하는 것은 이것이다 함수를 이름에 할당합니다.