반응형
Notice
Link
목록람다 (1)
스택큐힙리스트
람다 함수 클로저가 캡처하는 것은 무엇인가요?
최근에 나는 파이썬을 조금 놀아보기 시작했고, 클로저의 작동 방식에서 특이한 것을 발견했다. 다음 코드를 생각해보자. adders=[None, None, None, None]for i in [0,1,2,3]: adders[i]=lambda a: i+aprint adders[1](3)그것은 단일 입력을 가져와 숫자가 추가된 입력을 반환하는 함수의 간단한 배열을 생성합니다. 이 함수들은 i a 이터레이터가 0!@ 에서 3 까지 실행되는 for 루프에서 구성됩니다. 각각의 숫자에 대해서, i a 를 캡처하여 입력값에 추가하는 lambda!@ 함수가 생성됩니다. 마지막 줄은 두 번째 lambda!@ 함수를 3 을 매개변수로 호출합니다. 놀랍게도 결과는 6 입니다.내가 기대했던 것은 4 이었다. 이유는 파이썬에서..
카테고리 없음
2023. 4. 22. 09:52