型チェッカーの歴史と性能比較について少しだけ掘り下げます
型チェッカーの歴史と性能比較について少しだけ掘り下げます
はじめに そもそもPythonの型ヒントとは何か なぜ型チェッカが必要なのか mypy Pyre Pyright Pytype まとめ 参考文献 はじめに こんにちは! 株式会社iimonでエンジニアをしている遠藤です。 以前「ロバストPython 型チェックを効果的に導入するための考え方」という記事を書かせていただきました。この時に知った「Pytype」というツールについて気になっていたので、今回は、型チェッカを自分なりにまとめてみることにしました。 ここでは、以下の型チェッカについて取り上げます。 mypy Pyre Pyright Pytype そもそもPythonの型ヒントとは何か Pythonの型ヒントは、変数、クラス属性、関数のパラメータや返り値がどのデータ型を期待するかを明確にするためのものです。 Pythonは動的型付け言語なので強制はされませんが、オプションで以下のように
はじめにMypy や Pyright は Python の静的解析ツールとして有名ですが、これら2つに解析情報でどのような違いがあるのかわからなかったので、実験することにしました。Pyright は Mypy に比べて後発のプロジェクトですが、性能面で優れているなどとして徐々に注目を集めています。 https://github.com/python/mypy https://github.com/microsoft/pyright 解析以外での比較はこちらが参考になります。 https://qiita.com/simonritchie/items/7492d1c1a3c13b2f27aa#%E4%BA%8B%E5%89%8D%E3%81%AEpyright%E3%81%AE%E8%BF%BD%E5%8A%A0 実験概要Mypy、Pyright はともに reveal_type(expr)
@ITの記事Microsoft、Pythonの静的型チェック機能を提供する「VS Code」プラグイン「Pyright」を公開によると、mypyなどよりも5倍以上も高速な型チェッカのVisual Source Codeのプラグインが先週から公開されているそうです。 GitHubのリポジトリもあります。 Pyrightをpipenv環境で利用する場合には環境設定ファイルに指定しないと、サードパーティーのライブラリのimportに問題があると表示するようです。環境設定ファイルは、デフォルトではプロジェクトのルート・ディレクトリにあるpyrightconfig.jsonです。 設定にはpipenv --venvの出力結果が必要です。たとえばpipenv --venvの出力が/home/user1/.virtualenvs/test1-4AdBOHeoの場合には、以下の通りです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く