次の使用の間に実際的な違いはありますか?
def some_function():
print('Hello!')
return()
と:
def some_function():
print('Hello!')
必須ではないことはわかっていますが、関数が呼び出された後に返さないreturn
のは悪い習慣ですか?
まず第一にreturn
、関数ではありません。それは声明です。括弧を追加する必要はありません。
return ステートメントのない Python の関数は、None
デフォルトで戻ります。空のreturn
ステートメントは同じことを行うため、違いはありません。
>>> def foo(): return
...
>>> foo()
None
>>> def bar(): pass
...
>>> bar()
None
return ステートメントを使用しない場合、関数は None を返します。それは悪い習慣ではありません。
ベアreturn
ステートメントは、1つの状況で役立ちます。それ以外の場合に実行を停止する前に、関数の実行を停止する場合です。例えば:
def loop_example():
for some_item in some_sequence:
# do something
if some_condition:
# no need to continue for some reason
return
そうでない場合、それは単なる視覚的な混乱です。
違いはありません。どちらの関数も戻りますNone
が、後者は暗黙的に前者を明示的に返します。