2

次の使用の間に実際的な違いはありますか?

def some_function():
    print('Hello!')
    return()

と:

def some_function():
    print('Hello!')

必須ではないことはわかっていますが、関数が呼び出された後に返さないreturnのは悪い習慣ですか?

4

4 に答える 4

6

まず第一にreturn、関数ではありません。それは声明です。括弧を追加する必要はありません。

return ステートメントのない Python の関数は、Noneデフォルトで戻ります。空のreturnステートメントは同じことを行うため、違いはありません。

>>> def foo(): return
...
>>> foo()
None
>>> def bar(): pass
...
>>> bar()
None
于 2012-11-13T10:49:32.443 に答える
1

return ステートメントを使用しない場合、関数は None を返します。それは悪い習慣ではありません。

于 2012-11-13T10:49:34.240 に答える
0

ベアreturnステートメントは、1つの状況で役立ちます。それ以外の場合に実行を停止する前に、関数の実行を停止する場合です。例えば:

def loop_example():
    for some_item in some_sequence:
        # do something
        if some_condition:
            # no need to continue for some reason
            return

そうでない場合、それは単なる視覚的な混乱です。

于 2012-11-13T10:57:05.563 に答える
0

違いはありません。どちらの関数も戻りますNoneが、後者は暗黙的に前者を明示的に返します。

于 2012-11-13T10:49:45.900 に答える