ホームページ > バックエンド開発 > Python チュートリアル > Python の「return」、「return None」、および「No `return」: 主な違いは何ですか?

Python の「return」、「return None」、および「No `return」: 主な違いは何ですか?

Patricia Arquette
リリース: 2024-12-17 17:33:13
オリジナル
997 人が閲覧しました

Python `return`, `return None`, and No `return`: What are the Key Differences?

Python の Return、Return None、No Return: 違いは何ですか?

次の関数について考えてみましょう:

def my_func1():
    print("Hello World")
    return None

def my_func2():
    print("Hello World")
    return

def my_func3():
    print("Hello World")
ログイン後にコピー

それらはすべて None を返すように見えますが、その内容には微妙な違いがあります。

動作の違い

これらの関数が実行されるとき:

  • my_func1(): Prints "Hello" World" と明示的に返しますNone.
  • my_func2(): 「Hello World」を出力し、暗黙的に None を返します (関数のデフォルトの動作)。
  • my_func3(): 「Hello World」を出力し、何も返しません(なし)。

使用上の考慮事項

Return None

  • 目的の関数に使用します。 None であっても値を返します。
  • 返される値は次のとおりです。コードの後半で使用または無視されます。
  • 代替の戻り値がない場合は、None を返さないようにします。

Return

  • ループ内の Break ステートメントと同様に、関数を明示的に終了するために使用します。
  • 戻り値は無関係なので、使用すべきではありません。
  • 特定の値を返さずに関数を終了するだけの場合に便利です。

No Return

  • 値を返す必要がない関数、または単に実行が成功したことを示す関数に使用します。
  • return と同様、戻り値は次のとおりです。使用またはキャプチャすることを意図したものではありません。
  • C や Java などの他の言語の void 関数と同様です。

母親の名前を得る(戻る)なし):

def get_mother(person):
    if is_human(person):
        return person.mother
    else:
        return None
ログイン後にコピー

ナイフを持った囚人を見つける (リターン):

def find_prisoner_with_knife(prisoners):
    for prisoner in prisoners:
        if "knife" in prisoner.items:
            prisoner.move_to_inquisition()
            return # No need to check the other prisoners.
    raise_alert()
ログイン後にコピー

母親の名前を設定する (リターンなし) ):

def set_mother(person, mother):
    if is_human(person):
        person.mother = mother
ログイン後にコピー

以上がPython の「return」、「return None」、および「No `return」: 主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート