関数に複数のif文が含まれている場合は、1つの出口だけを残すことをお勧めします。 PHPのような言語では、do-while(false)を次のように使用できます。複数のif文がある場合、関数の出口を1つだけ保持する
function a() {
do {
if (...) break;
...
if (...) break;
...
} while (FALSE);
...
return;
}
これはPythonでどのようにするのですか? while(true)を使用することはできますが、末尾の区切りが見つからない場合は、デッドループになります。
while True:
if ...: break
...
if ...: break
...
# oops, miss the 'break', you're dead
これを行うにはもっとpythonicな方法がありますか?
PS:さらに1出口を説明する:
function a() {
if (...) { $a = 1; log($a); return $a; }
if (...) { $a = 2; log($a); return $a; }
if (...) { $a = 3; log($a); return $a; }
}
function a() {
do {
if (...) { $a = 1; break; }
if (...) { $a = 2; break; }
if (...) { $a = 3; break; }
} while (FALSE);
log($a);
return $a;
}
あなたは、試してみるとキャッチボールを行うことができます
構築。 – yurib
最初の例でwhileループが必要な理由がわかりません。あなたがif文を実行しなければ、あなたはifから出て戻ります。 – ezdazuzena
もっと良い例を挙げる必要があります。なぜなら、複数の 'if'文を使うことができるように思えるからです。 – soulcheck