私は初心者のプログラマーであり、Pythonを使用しています。私は多くの条件を持っていますが、それらのうちの1つが真実であるとすぐに、私は関数を殺してブール値を返したいと思います。 は、我々が持っている、と言う:複数のリターンとPythonの戻り変数
a)
def foo():
if condition1:
return True
if condition2:
return True
if condition3:
return True
return False
b)
def foo():
bar = False
if condition1:
bar = True
elif condition2:
bar = True
elif condition3:
bar = True
return bar
は別のものより1ずっといいですか?どうして?または、これはいくつかの完全なジャンクであり、完全に異なる方法で実装する必要がありますか?他の言語ではPythonとは異なるのですか(あるいは、Python的な方法がありますか?) ご回答いただきありがとうございます。 ところで、ベストプラクティスのタグなどがありますか?
私はこれは、Pythonに固有の疑い、および「早期復帰」を検索するときに見つけるたくさんあります。早期返品がどの程度明確であるか隠されているかなど、状況に固有のものでもあります。あなたのケースでは、 'if condition1 or condition2 or condition3:Trueを返します。 「Falseを返す」はさらにはっきりするかもしれません。 – Evert
どちらも問題ありません。あなたはあなたのケースでもっと読みやすいものを使うべきです。 – zvone
長い関数では、1回のリターンで読みやすくなります。しかし、おそらく、それらの長い関数を破ることは、とにかく良いアイデアです。 –