PyCon JP 2024

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

実例から学ぶ型ヒントの活用手法
2024-09-28 , 20F Track1

近年のPythonは型ヒントの強化が活発で、メジャーアップデートのたびに便利な機能が追加されています。
さらに型ヒントを活用するライブラリやツールも多く登場し、コミュニティからの絶大な人気を集めています。

プログラミング言語における「型付け」の活用方法として真っ先に思い浮かぶものは、静的解析により型の不整合を検出し、バグや実行時エラーを減らすことでしょう。
しかし、Pythonのエコシステムでは、従来の枠にとらわれない多種多様なアイディアで型ヒントが活用されています。
具体的な活用例としては次のようなものがあります。

  • FastAPI
    • APIドキュメントの自動生成
    • Dependency Injection
  • Pydantic
    • データバリデーション
  • SQLAlchemy 2.0
    • データベース内のデータ型の決定や制約の付与

本セッションでは、これらのライブラリがそのアイディアをどのように実装しているかについて紹介します。

Pythonの型ヒントはまだまだ多くの可能性を秘めていると思います。
本セッションを通じて、普段の開発で型ヒントをより便利に活用し、新たなアイディアを自身の手で具体化していきましょう。


近年のPythonは型ヒントの強化が活発で、メジャーアップデートのたびに便利な機能が追加されています。
さらに型ヒントを活用するライブラリやツールも多く登場し、コミュニティからの絶大な人気を集めています。

プログラミング言語における「型付け」の活用方法として真っ先に思い浮かぶものは、静的解析により型の不整合を検出し、バグや実行時エラーを減らすことでしょう。
しかし、Pythonのエコシステムでは、従来の枠にとらわれない多種多様なアイディアで型ヒントが活用されています。
具体的な活用例としては次のようなものがあります。

  • FastAPI
    • APIドキュメントの自動生成
    • Dependency Injection
  • Pydantic
    • データバリデーション
  • SQLAlchemy 2.0
    • データベース内のデータ型の決定や制約の付与

本セッションでは、これらのライブラリがそのアイディアをどのように実装しているかについて紹介します。

Pythonの型ヒントはまだまだ多くの可能性を秘めていると思います。
本セッションを通じて、普段の開発で型ヒントをより便利に活用し、新たなアイディアを自身の手で具体化していきましょう。


Why did you choose this topic?

わたしは普段からFastAPI、Pydantic、SQLAlchemy 2.0を使った開発を行っており、型ヒントの恩恵を日々得ています。
また、これまでRustやGoなどの静的型付き言語も経験してきましたが、それらと比較するとPythonの型ヒントはランタイムで利用できるからこそのユニークな機能が多く、その点に面白さを感じています。
この面白さを共有し、より多くのアイディアで型ヒントが活用されていくと、Pythonを使った開発がより便利で楽しいものになると思っています。

Knowledges and know-how the audience can get from your talk
  • Pythonの型ヒントへのアクセス方法
  • Pythonの型ヒントの具体的な活用事例
  • Pythonの型ヒントを活用する機能の実装方法
Prior knowledges speakers assume the audience to have
  • Pythonを使った開発経験
  • Pythonの型ヒントを使った経験があるとより楽しめると思います
Audience experiment

Intermediate

Language of presentation

日本語

Language of presentation material

日本語

See also: 実例から学ぶ 型ヒントの活用手法

尾道が好きになり東京から尾道の向島に引っ越してきたフルリモートのプログラマ。学生時代からずっとPython好き。シンプルなコード、シンプルな設計を目指してます。「Python実践入門」の著者。