Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python型チェッカー ty を使ってみた話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nogawanogawa
May 30, 2025
2
1.7k
Python型チェッカー ty を使ってみた話
nogawanogawa
May 30, 2025
Tweet
Share
More Decks by nogawanogawa
See All by nogawanogawa
Amazon Bedrockを用いた新着募集のモデレーション半自動化への取り組み
nogawanogawa
2
260
推薦システムにおけるPost Processの取り組み
nogawanogawa
2
510
Devinを導入してドキュメンテーションで変わったこと
nogawanogawa
2
160
相互推薦システム開発の舞台裏と今後の展望
nogawanogawa
2
380
コサイン類似度のいろんな書き方
nogawanogawa
4
1.6k
機械学習で使用しているGCSの料金を激減させた話
nogawanogawa
2
5.4k
How to Index Item IDs for Recommendation Foundation Models
nogawanogawa
0
610
CommonLitコンペで学んだこと
nogawanogawa
2
2.4k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
72k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
We Are The Robots
honzajavorek
0
180
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Faster Mobile Websites
deanohume
310
31k
The Cult of Friendly URLs
andyhume
79
6.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
Transcript
© 2025 Wantedly, Inc. Python型チェッカー ty を 使ってみた話 みんなのPython勉強会#114 May.30
2025 - @nogawanogawa
© 2025 Wantedly, Inc. 自己紹介 - 角川拓也 - X: @nogawanogawa
- 所属 - ウォンテッドリー株式会社 データサイエンティスト - ex. - ITコンサル @コンサル会社 - システムエンジニア @金融系SIer
© 2025 Wantedly, Inc. Pythonとデータ型
© 2025 Wantedly, Inc. Pythonとデータ型 - Pythonは動的型付け言語 - 変数の中に型情報が埋め込まれており、データ型を指定しなくても動作可能 -
「小さなプログラムでは動的型付けはすばらしい。しかし、大規模なプログラムではもっと 規律の取れたアプローチが必要である」 - データ型は保守性の高いコードの大黒柱 - Pythonでは型アノテーションによって型ヒントを付与することが可能 - 実行時には型ヒントは全く利用されないものの、ロバストなコードベースを構築するには型 ヒントは非常に有効 参考:『ロバストPython ―クリーンで保守しやすいコードを書く』オライリー・ジャパン( 2023)
© 2025 Wantedly, Inc. Python型チェッカー - Python型チェッカーが広く使われている - mypy -
Pyre - Pyright - PyType - … - コードベースが巨大になると型チェックの時間が無視できなくなるとの指摘 がある - コードの差分のみをチェックするなど、通常高速化の工夫が取られている - Python型チェッカーでは 高速化が大きなポイントになっている
© 2025 Wantedly, Inc. tyについて
© 2025 Wantedly, Inc. ty - Astral製のPython型チェッカー - ruff や
uvを開発している会社が開発 - 開発コードネームはRed-Knotらしいです - 特徴 - まだプレビュー版なのでプロダクションで使用する準備は整っていないと記載あり - 処理速度が速い - salsaというrust-analyzerでも使われているオンデマンド計算のためのフレームワーク を採用 参考: https://github.com/astral-sh/ty
© 2025 Wantedly, Inc. ty - ty check [チェック対象] で実行
- 型アノテーションが間違っている場合などには、違反箇所を教えてくれる 参考: https://github.com/astral-sh/ty
© 2025 Wantedly, Inc. 速度比較 - 簡単な速度比較をしてみる - mypyの10倍近く高速化 -
mypyはキャッシュが効いているはずだがそれでも tyのほうが圧倒的に速い この事例では 10倍ほど高速化 参考: https://www.nogawanogawa.work/entry/ty
© 2025 Wantedly, Inc. • 保守性の高いPythonコードベースには型アノテーションが重要と言われる ◦ そのためにPython型チェッカーが広く使われている ◦ 型チェッカーのポイントの一つとして速度が注目されてきた
• Python型チェッカー ty ◦ rustのsalsaフレームワークをベースにしており非常に高速 • 速度比較 ◦ 簡易実験してみたところ、mypyより高速だった まとめ