答えて
Pythonの短絡を評価します。あなたの例では、表現
1 or (1/0) and 1
は最初1
での評価を終了しTrue
を返します。
最小限の例は、Pythonの短絡評価を示すのに役立ちます。式を考えてみましょう:
(1/0) or 1
これは(1/0)
の評価の際にZeroDivisionError
例外が発生します。しかし、式:
1 or (1/0)
短絡はTrue
と評価されます。サブ式(1/0)
が評価されないため、例外は発生しません。
b or anything_else
は、anything_elseを評価せずに、bがtrue-ishであればbを返すように定義されています。あなたの最初の1はtrue-ishなので、あなたの1/0は決して評価されないので、エラーはありません。 「true-ish」とは、True
ブール値だけでなく、Pythonが真であると考えるあらゆる値を意味します。最初の1の代わりにTrueを使って式を試してみてください。
この情報を含む公式文書へのリンクを掲載できますか? –
Python 2の場合:https://docs.python.org/2/reference/expressions.html#boolean-operations –
- 1. ANTLRルールの優先順位
- 2. プロセスの優先順位とスレッドの優先順位
- 3. C言語の優先順位の優先順位
- 4. MySQLの優先順位順
- 5. Pythonの平等の優先順位
- 6. CSS優先順位
- 7. 優先順位キューマルチスレッド
- 8. 優先順位レベルのイベントエミッタライブラリ?
- 9. CSSの優先順位
- 10. MVCルーティングパラメータの優先順位
- 11. JPAカスケードタイプの優先順位?
- 12. express.jsのルータ優先順位
- 13. Javaの優先順位
- 14. メソッドの優先順位
- 15. JOINの優先順位は?
- 16. C#エクステンションメソッドの優先順位
- 17. SQLサーバージョブの優先順位
- 18. Rails3ルーティングの優先順位
- 19. レクサーの優先順位
- 20. yacc - 演算子のないルールの優先順位?
- 21. Perl正規表現の優先順位ルールは何ですか?
- 22. Repast Symphonyスケジューリング方法の優先順位とエージェントの優先順位
- 23. タイプセーフな優先順位付けされたルール
- 24. 明示的な 'this'バインディング優先順位と暗黙的 'this'バインディング優先順位
- 25. インスタントvs LocalDateTime - 他の優先順位を優先する場合
- 26. スカラの優先順位が低く優先度が低い
- 27. 〜の優先順位と++ Javaの
- 28. グラム++のコンパイルオプションの優先順位
- 29. 中置フォームのアプリケーションの優先順位
- 30. オペレータの優先順位C++でのオーバーロード
この質問はまだ尋ねられていません。 PythonのNOT AND&ORの優先順位を指している質問は、ここで行われている短絡評価には対応していません。 –