9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonのType HintでのNone, NoReturnの使い分け

Last updated at Posted at 2019-06-25

ざっくりいうと

基本的には、Noneを書いておく認識で大丈夫そう。
ただ、細かいところは調べる必要がある。

None

Pythonの場合、returnを明示的に宣言しないとNoneが返ってくる仕様になっています。他の言語だと、returnを書かなくても大丈夫だったりするので、時々混同しがちです。

この場合は、returnを書いていないけど、結果としてNoneが返ってくるのでNoneを書いておきます。

def func() -> None:
    print(1)

NoReturn

こちらは、文字通りNo Return(何も帰ってこない)時に使うイメージです。PEPでは例として、以下のような例が挙げられていました。

from typing import NoReturn

def stop() -> NoReturn:
    raise RuntimeError('no way')

この場合、return Noneを暗黙的に行う前に例外が上がるので、何も返答しません。なので、NoReturn

気になること / 要調査

  • passを使った時はどうするのか
def func():
    pass
  • return だけの時はどうするのか
def func():
    return 

Reference

9
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?