質問: ### 前提・実現したいこと Python3で、関数の戻り値をfor文中に戻す ### 発生している問題・エラーメッセージ ``` NameError: name 'd' is not defined ``` ### 該当のソースコード Python3 ``` def func(a,b): c=a*2+b**2+a*b d=2*3+2*b return d for i in range(3): e=func(i,i-2) print(e) print(d) ``` ### 試したこと ネット上の情報は色々と調べましたが答えは得られませんでした。 ### 補足情報(FW/ツールのバージョンなど) Anaconda上でPython3を実行しています。初心者のため、レベルが低いのかもしれません。非常に単純な話ですが、解決できません。for文だから悪いのか? とも思いましたが関数の戻り値は後続の処理のためのもののはずで、そのような制約がなぜあるのかもわかりませんでした。どなたかご教示頂けると幸いです。
回答: 変数dは当該関数内でのみ有効で、一般には外部から参照することができません。 というか、`e = func(i,i-2)`と受け取っているならdを参照する意味が無い筈ですが。