Python では、変数に処理前の値。このジレンマは、「if」構文を使用するか「try」構文を使用するかを決定するときに発生します。
「if」構文
「if」ステートメントは、条件が True であるかどうかを確認し、インデントされたコード ブロックがある場合は、それを実行します。あなたの例では、「if」構造を使用すると次のようになります。
result = function() if result: for r in result: # Process items
このアプローチでは、結果変数が空ではない値を保持していることを前提としています。 result が空のリストまたは None の場合、result を反復しようとすると IndexError または TypeError が発生します。
"try" Constructs
A "try" ブロックコードのブロックを実行しようとし、発生する可能性のある例外をキャッチします。この場合、try/excel ブロックを使用して例外を適切に処理できます。
result = function() try: for r in result: # Process items except TypeError: pass
このコードは、結果変数の反復を試みます。空のリストまたは None による TypeError が発生した場合は、エラーをスキップして実行を続行します。
「if」と「try」の選択
「if」と「try」のどちらを使用するかは、特定の状況と例外が発生する可能性によって異なります。
次の場合に「if」構造を使用します。
次の場合に「try」構造を使用します。
Python は「EAFP」を推奨しています。 (許可より許しを求めるのが簡単) スタイル。失敗する可能性のある操作を試行した後に例外が処理されます。上記の「try」の例に見られるように、このアプローチはより効率的かつ簡潔になります。
以上がPython で変数値をテストする場合、「try」と「if」のどちらを使用する必要があるか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。