귀속 함수의 정의와 몇 가지 작은 예
(1) 귀속 함수는 무엇입니까?
우리는 모두 한 함수가 다른 함수를 호출할 수 있다는 것을 안다.만약 이 함수가 내부에서 자신을 호출한다면, 이 함수를 귀속 함수라고 부른다.
(2) 귀속 함수의 작용
예를 들면, 우리가 계승 n을 계산하자!1 * 2 * 3 * ... * n
1 # :
2 n=4 # 4
3 result=1
4 i=1
5 while i<=4:
6 result=result*i
7 i+=1
8
9 print(result)
10
11 # :
12 def test1(n):# n
13 if n==1:
14 return 1
15 return n * test1(n-1)
16
17 print(test1(5))
18 #1
19 #2 , :
20 #3 ( )
출력 결과:
1 24
2 120
3 [Finished in 0.4s]
상기 두 가지 방법의 대비를 통해 알 수 있듯이 귀속 함수의 작용은 순환하는 방법의 효과와 같다. 즉, 귀속 함수는 본질적으로 하나의 방법의 순환 호출이다. 주의: 사순환이 나타날 수 있다.따라서 귀속 함수를 사용할 때 귀속의 경계 (즉 순환을 언제 종료하는지) 를 정의해야 한다.
귀속 함수의 또 다른 사례는 피보나치 수열이다.
피보나치 수열: 1, 2, 3, 5, 8, 13...(이 수열에는 n개의 숫자가 있습니다. 세 번째 숫자부터: 수치 = 이전 숫자 + 이전 숫자)
즉, n= (n-2) + (n-1)
1 def get_num(n):# n
2 if n==1 or n==2:
3 return 1
4 return get_num(n-1) + get_num(n-2)
5
6 #
7 nums=[]
8 for i in range(1,21):
9 nums.append(get_num(i))#get_num
10
11 print(nums)
출력 결과:
1 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
2 [Finished in 0.4s]
상기 두 사례는 귀속 함수의 고전적인 사례로 그 사용 방법을 기억해야 한다.주의: 실제 사용에서 귀속 함수는 소모 시간이 비교적 길기 때문에 (for순환과while 순환에 비해) 거의 사용하지 않습니다.
다음으로 전송:https://www.cnblogs.com/tianyiliang/p/7775071.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.