Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。422件6Python初心者です。以下のようなフィボナッチ数列を生成するコードについて質問があります。resultこれは、memoに計算済みのフィボナッチ数列の値を保存して、再帰的に呼び出すことで、重複する計算を回避することを意図したものです。コメントアウト以外の部分を引用しました。この際、全ての再帰呼び出し関数が持つ名前テーブルにmemoが存在する必要があると思うのですが、それはmemoの初期化を行っているのが関数宣言内であるからでしょうか?名前テーブルの扱いが分からないもので、より詳しく知ることのできるキーワードやドキュメントを教えていただければ幸いです。票10これは、引数のデフォルト値がどういう挙動をするかという問題ですね。デフォルトパラメタ値は関数定義を実行する際に値評価されます。値が全ての呼び出しで使われることを意味します。変更すると、実際のデフォルト値が変更されてしまいます。呼び出されるたびに同じ物が使いまわされるわけです。(私もむかし、勘違いしてました)、実際は最初に一つだけなので注意が必要です。「重要な警告」となっている箇所を読んでみてください。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。