반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- stockx.com
- 주식
- 나이키
- 오라클
- 발매예정
- Dunk Low
- Linux
- 덩크로우
- react
- 파이썬
- Nike
- 리눅스
- dunklow
- dunk high
- JavaScript
- sacai
- jQuery
- 덩크 로우
- 코로나19
- draw
- 드로우
- Github
- 자바스크립트
- oracle
- GIT
- 덩크 하이
- 주식공부
- Python
- 제이쿼리
- 리액트
Archives
- Today
- Total
Life goes slowly...
[Python] 파이썬 nested function 중첩 함수 본문
728x90
반응형
파이썬 중첩 함수 (Nested function)
파이썬 프로그래밍 함수 내부에 정의된 또 다른 선언된 함수를 말합니다.
파이썬 프로그래밍의 중첩 함수는 해당 함수가 선언된 함수 내에서 호출 및 반환이 가능합니다.
함수 안에 선언된 변수는 함수 안에서만 사용 가능합니다.
파이썬에서는 def로 시작하는 함수 안에 또 다른 하나의 def로 시작하는 함수를 정의하는데, 함수 안에 선언된 또 다른 함수를 중첩 함수(Nested Function)라고 합니다. 파이썬의 중첩 함수는 자기가 속한 원래 함수의 매개변수를 받아서 사용할 수 있으며 최종 결과 값을 반환하도록 합니다.
def outer_func():
print('call outer_func function')
//중첩 함수의 정의
def inner_func():
return 'call inner_func function'
//중첩 함수 호출
print(inner_func())
outer_func()
call outer_func function
call inner_func function
파이썬의 중첩 함수는 함수 내부에서는 호출이 가능하지만 함수 외부에서는 내부에서 선언된 함수로 호출이 불가능합니다.
def outer_func():
print('call outer_func function')
//중첩 함수의 정의
def inner_func():
return 'call inner_func function'
//중첩 함수 호출
print(inner_func())
inner_func()
line 11, in <module>
inner_func()
NameError: name 'inner_func' is not defined
하지만 파이썬 프로그래밍 중첩 함수를 함수 외부에서도 호출 가능한 방법이 있습니다.
First-class function 함수나 Closure function 함수를 사용하여 호출 시 사용이 가능합니다.
def outer_func(num):
//중첩 함수에서 외부 함수의 변수에 접근 가능
def inner_func():
print(num)
return 'complex'
return inner_func
fn = outer_func(10) //First-class function
print(fn()) //Closure 호출
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파이썬 - Slack 알람설정하기 (0) | 2020.08.25 |
---|---|
[Python] 파이썬 라이브러리 beautiful soup 으로 웹 크롤링하기 (0) | 2020.08.21 |
[Python] 파이썬 엑셀 활용 openpyxl 라이브러리 (0) | 2020.08.10 |
[Python] 파이썬 pyinstaller 모듈로 실행파일로 만들기 (0) | 2020.08.10 |
[Python] 파이썬 recursive function 재귀 함수 (0) | 2020.08.09 |
[Python] 파이썬의 lambda식 익명 함수 (0) | 2020.08.08 |
[Python] 파이썬 unittest 모듈로 단위테스트하기 (0) | 2020.08.07 |
[Python] 파이썬 Try~Except 으로 예외 처리 (0) | 2020.08.07 |
Comments