ホームページ >バックエンド開発 >Python チュートリアル >明示的な `return` ステートメントのない Python 関数が `None` を返すのはなぜですか?

明示的な `return` ステートメントのない Python 関数が `None` を返すのはなぜですか?

DDD
DDDオリジナル
2024-12-09 02:33:10934ブラウズ

Why Do Python Functions Without an Explicit `return` Statement Return `None`?

Return のない関数が明示的に 'None' を返すのはなぜですか?

以下に示すように、lyrics() という名前の関数を定義しました。

def lyrics():
    print("The very first line")
print(lyrics())

ただし、期待される出力ではなく、次のようなメッセージが表示されます。出力の一部としての「なし」:

The very first line
None

この動作の理由は、Python の関数の性質にあります。関数が return ステートメントを使用して明示的に値を返さない場合、暗黙的に None を返します。これは、Python 関数がオブジェクトであり、明示的な戻り値が指定されない場合は None を返すという規則に従っているためです。

この問題を解決するには、lyrics() の最後に return ステートメントを使用する必要があります。関数を使用して、目的の値を明示的に返します。たとえば、次のように文字列「一番最初の行」を返すことができます:

def lyrics():
    return "The very first line"

print(lyrics())

この変更により、関数が明示的に目的の文字列を返すようになり、「None」出力の問題が解決されます。

以上が明示的な `return` ステートメントのない Python 関数が `None` を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。