Python void 戻り型注釈 質問する

Python void 戻り型注釈 質問する

Python 3.x では、次のような関数の戻り値の型アノテーションを使用するのが一般的です。

def foo() -> str:
    return "bar"

「void」型の正しい注釈は何ですか?

私は3つの選択肢を検討しています:

  1. def foo() -> None:
    • 論理的ではないと私は思います。なぜならNone型ではないからです。
  2. def foo() -> type(None):
    • 私が知る限りの最良の構文を使用してNoneType
  3. def foo():
    • 明示的な戻り値の型情報を省略します。

オプション 2 が最も論理的であるように思われますが、オプション 1 の例もすでにいくつか見てきました。

ベストアンサー1

シンプルさと仕様への準拠のためにオプション 1を使用します。

def foo() -> None

オプション1と2は「同じ」です。PEP 484 -- 型ヒント、...

型ヒント内で使用される場合、式はNoneと同等とみなされますtype(None)

ただし、型ヒントの仕様では は使用されませんtype(...)

これが、ほとんどの例でNone戻り値の型として が使用される理由です。

おすすめ記事