python 재귀함수 예제

이제 재귀에 대한 직관이 있으므로 재귀 함수의 형식적인 정의를 소개합니다. 재귀 함수는 자체 참조 식을 통해 자체적으로 정의된 함수입니다. 다른 URL로도 플레이할 수 있습니다. 예를 들어 E: 파이썬에서 시작할 수 있습니다. 기본 파이썬 구현인 CPython은 C에서 무기한 루프를 사용하여 해당 함수를 만듭니다(관심 있는 사람들을 위한 소스 코드). 재귀로 그것을 하는 방법을 보자: 레스토랑 예제로 돌아가서, 그것은 당신이 그들을 청소하려고 할 때 더 더러운 요리를 제조 더러운 요리를 갖는 것과 같은 일종의 것입니다. 레스토랑 비즈니스에서, 이것은 매우 우울 할 것이다, 하지만 파이썬에서, 그것은 매우 강력한. 파이썬 인터프리터의 간단한 확인은 factorial (5)이 120을 제공한다는 것을 보여줍니다. 나는 동료 파이썬 스타스 (Pythonistas)로서 우리는 모두 여기에 성인을 동의하지만, 아이들은 재귀의 아름다움을 더 잘 괴롭히는 것 같습니다. 그래서 잠시 여기 성인이 되지 않고 우리가 산타 클로스를 돕기 위해 재귀를 사용할 수있는 방법에 대해 이야기하자. 이러한 기본 개념 중 하나는 Recursion이며 특정 유형의 함수를 작성하는 동안 아는 것이 매우 중요합니다. “함수가 자신을 호출할 때 재귀라고 합니다.” 그러나 후드 에서 무슨 일이 일어나는가? 실제 메모리가 재귀의 영향을 받는 방법은 무엇입니까? 다른 모든 함수를 재귀 함수로 바꿀 수 있습니까? 이 자습서에서는 이러한 기본적인 질문에 대한 답을 찾을 수 있습니다.

특히, 당신은 다룰 것입니다 : DataCamp는 파이썬의 근시 분석에 대한 훌륭한 기사를 가지고 있으며,이 섹션을 읽기 전에 확인하는 것이 좋습니다. 함수의 공간 및 시간 분석(공간 복잡성 및 시간 복잡성이라고도 함)의 의미를 빠르게 요약해 보겠습니다. 그것은 대신 접시의 스택 기능 호출의 스택입니다. 함수가 `hi`를 인쇄한 후 0에 도달할 때까지 남은 값이 더 낮은 값으로 자신을 호출합니다. 함수가 0이면 hi_recursive(1)에서 호출된 지점으로 반환되며 hi_recursive(2)에서 호출된 곳으로 반환되고 궁극적으로 hi_recursive(3)에서 호출된 곳으로 돌아갑니다. 당신은 지금 생각해야한다, 왜 지구상에서 누군가가 사용할 수있는 더 나은 대안이있는 경우 재귀 함수를 작성할 것인가? 예, 때로는 재귀 추적이 어려워지지만 연습에 익숙해지면 프로그램 가독성 및 변수와 관련하여 예귀한 재귀가 발견될 수 있습니다. 재귀는 실행하기 위해 추가 변수가 필요하지 않지만 중지하려면 적절한 종료 조건이 필요합니다. 종종 재귀에 대한 종료 조건을 찾기가 어려워집니다. 그런 다음 다시, “연습은 당신을 완벽하게 만든다”. 이 자습서의 후반부에서는 기존 수단 이외 재귀로 구현되는 경우 프로그램이 얼마나 아름답고 작은지 알 수 있습니다.

이제 재귀 함수의 메모리 표현을 연구하는 쪽으로 진행됩니다. 소개에서 설명한 대로 재귀는 정의에서 자체를 호출하는 프로세스를 포함합니다. 재귀 함수에는 일반적으로 두 가지 구성 요소가 있습니다.

Geplaatst in Geen categorie