Pythonでは、関数から値を返すためにreturn
文を使用します。しかし、return
だけを書いた場合とreturn None
を書いた場合、どちらが適切なのでしょうか。
returnとreturn Noneの違い
Pythonの関数は、return
文がない場合でも、戻り値としてNone
が返されます。つまり、return
とreturn None
は基本的に同じ動作をします。
しかし、コードを読む人に対するメッセージとしては異なります。return None
は、関数が明示的にNone
を返すことを示しています。一方、return
は、関数が何も返さずに終了することを示しています。
いつどちらを使うべきか
- 関数処理を中断したいだけのときは
return
を使う方がベター。 - 戻り値の None を利用する場合は
return None
を使うとわかりやすい。 - 多重ループを一気に抜けるときは
return
は便利。
例
以下に、それぞれの使用例を示します。
# return None を使う例
def hello_all():
persons = ['Zepp', 'Eric']
if persons:
for person in persons:
print('Hello ' + person)
else:
return None
# return を使う例
def hello_zepp():
persons = ['Zepp', 'Eric']
for person in persons:
print('Hello ' + person)
# 処理を終了
return
以上のように、return
とreturn None
の違いと使用場面を理解することで、Pythonの関数をより適切に使用することができます。.