- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬 자료구조
- 파이썬 입문
- 알고리즘 강좌
- gdrive
- python data structure
- 파이썬
- 쉬운 파이썬
- 중간시험
- 알고리즘
- 셀레니움
- python 중간고사
- 파이썬 강좌
- 파이썬 강의
- 자료구조 강의
- 코딩문제
- 파이썬3
- 기말시험
- 채용문제
- 자료구조
- 프로그래밍
- 대학시험
- selenium
- 코딩시험
- 알고리즘 강의
- 파이썬 알고리즘
- 크롤링
- c언어
- 파이썬활용
- Crawling
- 면접 파이썬
Notice
반원 블로그
01d. 재귀호출(순환호출) 본문
재귀호출(순환호출) Recursion
프로그래밍에서 재귀호출이라하면 함수 또는 메소드가 자기 자신을 또 호출하는 형태를 말한다.
이런 재귀 호출은 조심해야한다. 잘못하면 무한 호출이 되기때문이다. 다행이 파이썬에서는 무한 호출이 감지되면 중지시키는 RecursionError가 존재한다. 에러 내용을 보면 재귀 호출이 가능한 범위를 넘어서서 RecursionError를 발생시켜 프로그램을 종료시켰다.
#05Recursion.py
#재귀함수 예시
def aFunc():
print("호출!")
aFunc() #자신을 호출
##메인 코드
aFunc()
출력결과
호출!
호출!
....(생략)
호출!
호출!
Traceback (most recent call last):
File "파일경로/05RecursionF.py", line 9, in <module>
aFunc()
File "파일경로/05RecursionF.py", line 6, in aFunc
aFunc() #자신을 호출
File "파일경로/05RecursionF.py", line 6, in aFunc
aFunc() #자신을 호출
File "파일경로/05RecursionF.py", line 6, in aFunc
aFunc() #자신을 호출
[Previous line repeated 993 more times]
File "파일경로/05RecursionF.py", line 5, in aFunc
print("호출!")
RecursionError: maximum recursion depth exceeded while calling a Python object
올바른 재귀 호출
재귀 호출을 염두하고 만든 함수는 실행 될 수 있는 재귀의 횟수를 정해놓거나, 함수가 종료될 수 있는 조건이 반드시 있어야 합니다.
위키독스 연재 : https://wikidocs.net/book/2868
'2018~ > 파이썬 자료구조 알고리즘' 카테고리의 다른 글
02a. 연결 리스트와 배열과 배열리스트 (0) | 2019.04.25 |
---|---|
02. 연결 리스트 (0) | 2019.04.24 |
01f. 학습에 도움이 되는 사이트 (0) | 2019.04.23 |
01e. 노드(Node) - 자료구조 기본 단위 (0) | 2019.04.22 |
01c. 클래스의 Setter, Getter (0) | 2019.04.20 |
01b. 클래스 기본적인 작성방법 (0) | 2019.04.19 |
01a. 자료구조와 자료형 (0) | 2019.04.18 |
01. 자료구조를 위한 사전지식 (0) | 2019.04.17 |
Comments