
nested는 중첩이라고 불리며 일반적으로 2중 loop등을 지칭할 때 사용되는 용어임.
Nested Function
nested function이란,
for문 안에for문이 중첩되어 2중 loop를 구성하는 것처럼,- function 내부에서 function을 정의(선언)하는 것을 가르킴.
- 때문에 inner function이라고도 불림.
다음 예를 보면 쉽게 알 수 있음.
def ex_func(j):
def nested_func(i):
return i ** 2
for c in range(j):
print(nested_func(c))
lambda function (=lambda expression)과 비슷한데,
- 보다 복잡한 구현이 필요할 때 nested function 이 사용되고,
- 1줄 수준의 간단한 구현인 경우 lambda expression이 사용된다.
2023.07.07 - [Python] - [Python] lambda expression and map, filter, reduce.
[Python] lambda expression and map, filter, reduce.
Lambda expression (or Lambda Function, Anonymous Function)Python 에서 lambda function (or lambda expression)은 anonymous function(익명함수)를 만드는데 사용됨.function 형태로 code구현의 재사용을 해야하긴 하지만, def문을 이
ds31x.tistory.com
사용처
주로 단순한 코드가 반복되는 경우에 사용되어 가독성을 높이는데 사용되며,
first-class object 개념과 함께, clousre와 같은 디자인패턴을 구현하는데 사용됨.
C언어에 익숙한 개발자의 경우, Python등에서 nested function을 보면 상당히 어색하다.
개인적으로 tuple을 이용한a,b = b,a로 두 변수의 값을 swap하는 것과 함께
가장 어색했던 게 nested function이었음.
2023.07.15 - [Python] - [Python] first-class object (일급객체)
[Python] first-class object (일급객체)
함수형 프로그래밍 언어에서 중요한 개념이며,JavaScript와 Python등에서 Closure와 같은 다양한 디자인패턴을 응용 및 구현하는데 중요한 역할을 한다. 함수형 언어 관련 참고 자료 :http://ds31x.blogspot.c
ds31x.tistory.com
2023.07.15 - [Python] - [Python] Closure
[Python] Closure
Closure의 정의는 다음과 같음. Nested function 으로, 자신의 enclosing scope (= Python에서 non-local scope)의 상태값(lexcical environment의 variable 값)을기억하고 유지, 변경, 사용할 수 있는 high-order function를 가르
ds31x.tistory.com
'Python' 카테고리의 다른 글
| [Python] Closure (0) | 2023.07.15 |
|---|---|
| [Python] scope와 키워드 global, nonlocal (0) | 2023.07.15 |
| [Python] first-class object (일급객체) (0) | 2023.07.15 |
| [Python] Callback function (0) | 2023.07.13 |
| [Python] overloading, overriding, and special methods (0) | 2023.07.13 |