【Python】Static Typing linter ~ mypy ~

■ はじめに

図書館で以下の本を借りて、
mypy について学んだので、メモ

目次

【1】mypy
【2】環境設定
【3】使い方
【4】サンプル
 例1:コマンドラインで利用する

【1】mypy

* 静的型チェックを行う
 => 型ヒント(※)でデータ型を定義した際に、チェックしてくれる

https://github.com/python/mypy
https://mypy.readthedocs.io/en/stable/index.html

※補足:型ヒント

* 以下の関連記事を参照のこと

https://dk521123.hatenablog.com/entry/2021/12/23/231559

【2】環境設定

$ pip install mypy
# conda install mypy

# 確認
$ mypy --version     
mypy 0.910

【3】使い方

[1] コマンドラインで利用する
 => 『mypy <file_name>』を実行する

[2] VS CodeなどのIDEやエディタで利用

[3] CIやGitの pre-commitなどと組み合わせて利用

【4】サンプル

# int指定だが、文字列 "Hello world!!" を指定
value: int = "Hello world!!"

# python的には実行可能で、『value is Hello world!!』
print(f"value is {value}")

例1:コマンドラインで利用する

# mypy <file_name>
$ mypy demo.py
demo.py:1: error: Incompatible types in assignment (expression has type "str", variable has type "int")
Found 1 error in 1 file (checked 1 source file)

参考文献

https://ohke.hateblo.jp/entry/2020/10/03/230000
https://qiita.com/k-saka/items/8f05c89f675af219e081

関連記事

Python を奇麗に書くためのツール群
https://dk521123.hatenablog.com/entry/2021/11/08/221219
Python解析ツール ~ Ruff ~
https://dk521123.hatenablog.com/entry/2024/03/13/000021
Python ~ 基本編 / 型指定・Typing ~
https://dk521123.hatenablog.com/entry/2021/12/23/231559