루프에서 함수 만들기 루프 내부에 함수를 만들려고합니다. functions = [] for i in range(3): def f(): return i # alternatively: f = lambda: i functions.append(f) 문제는 모든 기능이 동일하게된다는 것입니다. 0, 1, 2를 반환하는 대신 세 함수 모두 2를 반환합니다. print([f() for f in functions]) # expected output: [0, 1, 2] # actual output: [2, 2, 2] 왜 이런 일이 발생하고 각각 0, 1, 2를 출력하는 3 개의 다른 함수를 얻으려면 어떻게해야합니까? 지연 바인딩에 문제가 있습니다. 각 함수는 i가능한 한 늦게 조회됩니다 (따라서 루프가 끝난 후 호출 i..