[파이썬] 네스티드(중첩) 함수 feat.nonlocal & 클로저


[파이썬] 네스티드(중첩) 함수 feat.nonlocal & 클로저

네스티드 함수(Nested Function) 정의 : 함수 안에 정의된 함수(중첩 함수) 예제 1) def outer_func(num): def inner_func(num): # 네스티드 함수!! print(num) inner_func(num) outer_func(10) 출력 1) nonlocal 키워드 정의 : 네스티드 함수에서 외부 함수에서 사용되는 변수를 사용할 수 있도록 해주는 키워드 사용법 nonlocal 외부 함수의 변수명 !! 사용 방법은 global 키워드를 사용하는 것과 동일하다. !! nonlocal 키워드를 사용하지 않으면 외부 함수의 변수를 수정할 수 없다. 예제 2) def outer_func(): num = 1 def inner_func(): nonlocal num # nonlocal 키워드 사용!! num = num + 1 # 키워드를 사용했기에 값 수정이 가능하다. return num return inner_func() print(outer_func())...


#closure #nested #nonlocal #python #네스티드 #네스티드함수 #중급 #클로저 #파이썬

원문링크 : [파이썬] 네스티드(중첩) 함수 feat.nonlocal & 클로저