私はPythonを学んでいて、簡単には消化できないコンセプトを見つけました:構成内のオプションのelse
ブロック。 the documentationによるとtry/except構文でPythonでelseを使うのはなぜですか?
:
してみてください... except文は 現在、すべての条項を除いて従う必要があり、オプションのelse節を持っています。 try節が例外を発生させない場合は、 を実行する必要があるコードには便利です。
私はなぜtry節がトライ構造内の例外を上げていない場合に実行されなければならないコードを持っている程度混乱しています - なぜ単にそれは同じで除いて試して/従っていませんインデントレベル?私は例外処理のオプションを単純化すると思います。あるいは、別の方法として、else
ブロック内にあるコードは、それが独立したtryステートメントに単純に従っていた場合は実行されません。たぶん私は何かを見逃している、私を教えてください。
この質問は、this oneと多少似ていますが、私が探しているものが見つかりませんでした。
ああ、OK ...完璧な理にかなっています。それでは、tryセクションの最後に置いてみましょう。そのコード自体が例外を投げている可能性があり、例外の起点の範囲を制限したいのですか? – amphibient
はい。他の言語の 'try'に入れるのが普通ですが、特に' except'ブロックがない場合はPythonに 'else'があるので、それを使用します。 – user2357112
優れた解説、ありがとうございます – amphibient