I持つPythonのドキュメントから一つの質問については、sys.setrecursionlimit ()Pythonの最大再帰、は、sys.setrecursionlimitについての質問()
この機能:
Pythonインタプリタの最大の深さを設定します。スタックして制限する。この制限は、無限再帰がCスタックのオーバーフローを引き起こし、Pythonをクラッシュさせないようにします。 可能な限り高い制限は、プラットフォームによって異なります。深い再帰を必要とするプログラムと上限をサポートするプラットフォームがある場合、ユーザーは上限を高く設定する必要があります。これは、あまりにも高い制限がクラッシュにつながる可能性があるため、注意して行う必要があります。ここで
は私の質問です:
はのは、この役に立たない再帰関数を見てみましょう:
def rec(N):
if N==0:
return 1
else:
return rec(N-1);
今のは100に最大再帰を設定してみましょう:
sys.setrecursionlimit(100)
私はrec(99)
(100をしようとした場合再帰呼び出し)、私は得る:
RuntimeError: maximum recursion depth exceeded
rec(99)を計算するには再帰制限を設定する必要があります。105
なぜそうですか?
Thx、私はもっと慎重に定義を読んで、関数の名前を見てはいけないと思います –