나는 reading about lambdas (dive into python)이고 예제 코드를 실행했고 텍스트 상태와 다른 결과를 얻었다. 그것은 example 4.21
입니다 : 내가 볼 수 있듯이파이썬으로 뛰어 들어라 : 람다 식 : 논리적 인 모호성 제거
>>> collapse = True
>>> processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
>>> processFunc("this is\na\ttest")
'this is a test'
>>> collapse = False
>>> processFunc("this is\na\ttest")
'this is a test'
먼저 람다 표현식은 collapse
값이 아무리에게 반환됩니다
processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
이 내 평 2.7 콘솔 출력됩니다. 내 생각이나 파이썬 버전이 바뀌 었거나이 전설적인 도서 국가와 다른 결과를 얻었습니다.
aaahh ... 감사합니다. 나는 javascript 클로저와 비슷하게 동작한다고 생각했다. – ducin
@tkoomzaaskz Python 클로저와 lambdas * do *는 javascript 클로저처럼 작동합니다. 그러나, 당신처럼 자바 스크립트에서 작동하지 않을 것으로 보인다. Javascript는 마술처럼 할당 문을 재평가하지 않습니다. – Marcin
@Marcin에서 더 자세히 설명해 주시겠습니까? 나는 여기서'js'와'py'의 차이점을 이해하지 못합니다. 그리고 이것은 중요한 것 같습니다. 미리 감사드립니다. – ducin