- 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 | 31 |
Tags
- python data structure
- 코딩문제
- 파이썬
- 파이썬3
- python 중간고사
- 파이썬활용
- 중간시험
- 파이썬 강의
- 알고리즘
- 대학시험
- 면접 파이썬
- 파이썬 강좌
- 파이썬 입문
- 파이썬 자료구조
- 자료구조
- 채용문제
- Crawling
- 셀레니움
- 자료구조 강의
- 기말시험
- 프로그래밍
- 알고리즘 강의
- selenium
- 파이썬 알고리즘
- 알고리즘 강좌
- 쉬운 파이썬
- c언어
- 코딩시험
- gdrive
- 크롤링
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