중첩함수의 사용
1. 중첩함수?
- 함수 안에 함수를 중첩하여 선언
- 중첩함수(nested function) 혹은 내부함수는 상위 부모 함수 내에서만 호출 가능
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 안에서만 호출이 가능
2. 왜 사용하는가?
1) for 가독성
- 함수 안의 코드 중 반복되는 코드가 있다면 중첩함수로 선언하면 부모함수의 코드를 효과적으로 관리하고 가독성을 높일 수 있다.
- 애초에 함수를 사용하는 목적 또한 반복되는 코드를 함수로 설정해서 가독성을 높이기 위함
2) for closure
- 중첩 함수가 부모 함수의 변수나 정보를 가두어 사용하는 것을 closure
- 중첩 함수가 부모 함수의 변수나 정보를 중첩 함수 내에서 사용한다.
- 부모 함수는 리턴값으로 중첩 함수를 리턴한다.
- 부모 함수에서 리턴 했으므로 부모 함수의 변수는 직접적인 접근이 불가능 하지만 부모 함수가 리턴한 중첩 함수를 통해서 사용될 수 있다.
- 그렇다면 언제 closure?
-> 어떠한 정보를 기반으로 연산을 실행하고 싶지만 기반이 되는 정보는 접근을 제한하여 노출이 되거나 수정이 되지 못하게 하고 싶을때 사용
Author And Source
이 문제에 관하여(중첩함수의 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@alexms0316/중첩함수의-사용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)