less than 1 minute read

typing.TYPE_CHECKINGという変数があり、こいつは型チェックのときだけTrueになるようだ。

以下のようにして使う。

from typing import TYPE_CHECKING
from typing_extensions import reveal_type

x = 1

if TYPE_CHECKING:
    print("型チェック中")
    reveal_type(x)
print(x)

これを、temp2.pyとして保存したとする。

型チェック

$ pyright temp2.py
/private/tmp/ex/temp2.py
  /private/tmp/ex/temp2.py:7:17 - information: Type of "x" is "Literal[1]"
0 errors, 0 warnings, 1 information

ifの中が評価されて、xの型情報が表示される。

実行

$ python temp2.py
1

こちらでは、ifの中は評価されない。

タグ:

カテゴリー:

更新日時: