python 함수의 귀속
함수 귀속
함수는 코드의 봉인으로 다른 프로그램에 호출될 수도 있고 함수 내부에서 호출될 수도 있으며 함수 내부에서 자신을 호출하는 방식을 함수의 귀속이라고 부른다.마치 사람이 거울 앞에 서서 거울을 보는 것과 같다. 거울 속의 거울도 마찬가지다. 한 사람이 거울을 보고 있고, 거울 속의 거울 속의 거울도 한 사람이 거울을 보는 것과 같다... 약간 내미가 난다.수학에서의 곱셈은 귀속으로 계산할 수 있다. 만약 네가 n을 계산하려고 한다면!당신은 반드시 (n-1)을 계산해야 합니다!,계산하고 싶어(n-1)!계산해야 돼(n-1-1)!이렇게 유추하면 마지막에 앞으로 n번 추산하면 (n-n)!=0 그래서 우리는 0을 얻었다!1,0의 곱하기가 있으면 1의 곱하기(0!*1)를 알 수 있고, 1의 곱하기가 있으면 2의 곱하기 1을 알 수 있다!**2,이렇게 유추하면 n의 계승을 얻을 수 있다.만약 우리가 곱하기를 구하는 함수func를 설정한다면, 우리는 n을 계산하려고 한다.(n-1)의 곱셈을 알아야 한다. 이런 식으로 추론하면func(n)-->func(n-1)-->func(n-2)-->func(n-3)-->...>func(0)=1 우리는 0의 곱셈 값이 있으면 다음과 같이 계산할 수 있다. 1!그리고 2!n! func(0)=1->func(1)-->func(2)-->func(3)-->...->func(n) 우리는 n의 곱셈을 계산할 때마다 계산(n-1)의 곱셈으로 돌아간다. 그러면 우리는 어떻게 함수를 계산(n-1)의 곱셈으로 돌아갑니까?우리는 리턴을 배운 적이 있다. 리턴은 함수의 제어권을 호출자에게 되돌릴 수 있다. 그러면 자신이 호출자로서 제어권을 본 함수에 이어서 계산할 수 없다(n-1)!그래. 깜찍한 놈이야. 깜찍한 놈이야.
def func(n):
if(n==0):
return 1 # ,
else:
return n*func(n-1)
'''
n!=n*(n-1)*(n-2)*...*1
(n-1)! func(n-1) ,
'''
print(func(3))
결과는 다음과 같다. 6 그 중에서 끝까지 귀속되는 특수값(또는 이미 알고 있는 값)을 기례라고 하는데 기례는 다시 귀속할 필요가 없다. 이것은 확정된 값이다.그리고 모든 기례는 하나 이상의 기례로 끝내야 한다.함수 귀속을 능숙하게 사용하려면 자신을 호출하는 의미를 이해해야 한다. 즉, 미지의 값을 함수 자체로 나타내고 귀속이 구해야 할 문제의 전후항 사이에 일정한 관계가 있음을 알아야 한다.귀속 실행 시 첫 번째 항목에서 기본 사례로 계속 실행되며, 기본 사례로 실행된 후 기본 사례에서 첫 번째 항목으로 역행하여 최종 결과를 되돌려줍니다. 시작도 있고 끝도 있습니다.당신들에게 건강서의 귀속 해설도를 드리겠습니다.
마지막으로, 귀속을 사용할 때 반드시 기례의 구축에 주의해야 한다. 그렇지 않으면 귀속이 되돌아오지 못하면 오류가 발생할 것이다.기본적으로 귀속 층수는 1000층을 초과해서는 안 되며, 시스템이 허용하는 최대 귀속 깊이를 초과하면python 해석기는 프로그램을 종료합니다.이러한 설정은 무한 귀속을 방지하기 위해 메모리를 무한히 점용하는 것을 방지하기 위해 설계된 것이다.만약 당신의 귀속이 정확하지만 층수가 1000층을 초과하면 최대 귀속 한도를 설정할 수 있습니다.
import sys
max=2000#
sys.setrecursionlimit(max)
자, 또 작별인사를 할 때가 되었군(→ ←) 오늘 너는 학업을 그만두었느냐(・ω・안녕히 계세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 함수의 귀속함수는 코드의 봉인으로 다른 프로그램에 호출될 수도 있고 함수 내부에서 호출될 수도 있으며 함수 내부에서 자신을 호출하는 방식을 함수의 귀속이라고 부른다.마치 사람이 거울 앞에 서서 거울을 보는 것과 같다. 한 사람...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.