다른 구문들과 마찬가지로 함수도 함수안에 중첩되어 선언될 수 있습니다. 즉 함수 안에 함수를 선언할 수 있습니다.
def parent_function(): def child_function(): print("this is a child function") child_function() parent_function() "this is a child function"
중첩함수 혹은 내부 함수는 는 상위 부모 함수 안에서만 호출 가능합니다.
부모 함수를 벗어나서 호출될 수 없습니다.
위의 코드에서 child_function
함수는 parent_function 안에서만 호출이 가능합니다.
Why use nested function?
1. 가독성
2. Closure- 중첩 함수가 부모 함수의 변수나 정보를
가두어 사용하는 것을 closure라고 합니다.
그리고 부모함수는 중첩 함수를 리턴해줍니다.