python 귀속 함수 용법 상세 설명
귀속 정보:
바이두 해석: 함수/과정/서브루틴이 프로그램을 실행한 후 직접 또는 간접적으로 자신을 호출하여 발생하는 재입 현상을 가리킨다.컴퓨터 프로그래밍에서 귀속은 하나의 과정을 가리킨다. 함수는 인용된 대상이 알 때까지 자신을 끊임없이 인용한다.반복적으로 문제를 해결하고 사고방식이 뚜렷하며 코드가 적다.그러나 주류 고급 언어(예를 들어 C 언어, Pascal 언어 등)에서 귀속 알고리즘을 사용하면 더 많은 창고 공간을 소모하기 때문에 창고 사이즈가 제한될 때(예를 들어 삽입식 시스템이나 내부 핵 프로그래밍)는 사용하지 말아야 한다.모든 귀속 알고리즘은 그와 같은 값의 비귀속 알고리즘으로 바꿀 수 있다.
요약 이해: 귀속은 함수 내부에서 자신의 함수를 호출하여 귀속이라고 부른다.
인스턴스 데모:
# :def func: print('from func') func
Func
# def foo: print('from foo') bar
def bar: print('from bar') foo
Foo
# :def age(n): if n == 1: return 18 return age(n-1)+2
print(age(5))
# age(5)=age(4)+2 # age(4)=age(3)+2 # age(3)=age(2)+2 # age(2)=age(1)+2 # age(1)=18 ,
# age(n)=age(n-1)+2 #n>1 # age(1)=18 #n=1
차례차례 거슬러 올라가다추이: 위의 귀속이 해체된 것처럼 귀속은 매번 지난번에 기초하여 다음 실행을 하는 것을 추이라고 한다.거슬러 올라가기: 정지 조건을 만나면 마지막에서 한 단계 한 단계 되돌아오는 값을 거슬러 올라가는 것을 거슬러 올라가는 것이다.
# l =[1, 2, [3, [4, 5, 6, [7, 8, [9, 10, [11, 12, 13, [14, 15,[16,[17,]],19]]]]]]]
def search(l): for item in l: if type(item) is list: search(item) else: print(item)
search(l)
단계 인스턴스 코드:
def fact(n): if n==1: return 1 return n * fact(n -1)
위쪽은 계층을 실현하는 귀속 함수입니다. 한번 시도해 보겠습니다.
>>> fact(1)1>>> fact(5)120>>>fact(100)93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
계산 과정을 살펴보겠습니다.
===> fact(5)
===> 5 * fact(4)
===> 5 * (4 * fact(3))
===> 5 * (4 * (3 * fact(2)))
===> 5 * (4 * (3 * (2 * fact(1))))
===> 5 * (4 * (3 * (2 * 1)))
===> 5 * (4 * (3 * 2))
===> 5 * (4 * 6)
===> 5 * 24
===> 120
피보나치 수열
def fib(n): if n <2: return n else: return fib(n -1) + fib(n -2)
한노타
def hanoti(n,x1,x2,x3): if(n == 1): print('move:',x1,'-->',x3) return hanoti(n-1,x1,x3,x2) print('move:',x1,'-->',x3) hanoti(n-1,x2,x1,x3)
이 python 귀속 함수 용법에 대한 상세한 설명은 여기까지 소개합니다. 더 많은 python 귀속 함수 용법 소개 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.