Pythonの関数はreturnで返すべきか
auです。
Pythonの関数は、returnをしなくてはいけない場合と、しなくてもいい場合があると思います。
printをするだけとかなら、returnはなくてもいいですよね。
僕は、C言語のように「reutrn 0」で正常終了のようにしていたのですが、先輩エンジニアに指摘されたので調べてみました。
結論
初めに結論から言うと、returnを使うなら全ての分岐で使い、使わなくてもいいなら1回も使わないと言うことです。
これは、Pythonの公式でも言われています。
return文は一貫した書き方をしましょう。関数の中の全てのreturn文は式を返すか、全く何も返さないかのどちらかにすべきです。式を返しているreturn文が関数の中にある場合、値を何も返さないreturn文は 明示的に return None と書くべきですし、(到達可能であれば)return文を関数の最後に明示的に置くべきです。
def foo(x): if x >= 0: return math.sqrt(x) else: return None
公式にある例だと、if分岐するもの全てreturnをしています。
何も返す必要がないelseの箇所も、「return None」と記述しています。
ただの「return」だけでなく、「return None」まで書くべきらしいので、しっかりと書きましょう。