金曜日 10:55 a.m.–11:25 a.m.
Room 202 #pyconjp_202ベンリに使おう変数アノテーション - typing.pyとの楽しいお付き合い
Takumi Sueda
- 対象レベル:
- 中級
- カテゴリ:
- Core Python (Language, Stdlib)
- スライド:
- https://speakerdeck.com/puhitaku/bian-li-nishi-oubian-shu-afalsetesiyon-typing-dot-py-tofalsele-siiofu-kihe-i
- ビデオ:
- https://youtu.be/q0rxk5vSzVI
説明
変数アノテーションを実行時に読む方法から、実用的な活かし方までを解説。 (English slides + Japanese speech)
概要
Python 3.6から、変数定義に型を付ける変数アノテーションが使えるようになった。
「アノテーション」というと、mypyやPyCharmのような静的型チェッカーが読んでくれたり、開発者間の意思疎通に使えたりと便利だが、実行時には無視される言わば飾りのようなものというイメージを持ちがちである。
しかしこれはただの飾りではない。我々の書くコードにおいても便利な道具として活用できる、今あらためて注目したい言語仕様…それが変数アノテーションである。
本発表では、はじめに
- 変数のアノテーションを読む方法
からスタートし、
- 標準ライブラリ `typing.py` で定義された型の取扱い方
- Generic型・Built-in型・Union(直和)型・その他の判別方法
といった重要なポイントを解説した後、Go言語ライクな洗練されたJSON読み書き処理を実現するラッパーの実装までを解説する。
なお、本発表で紹介するJSON読み込みラッパーを実装したもの(書き込みは未実装)は[すでに公開されている](https://github.com/puhitaku/typedmarshal)ため、興味のある方はそちらも参照されたい。
-> [puhitaku/typedmarshal - https://github.com/puhitaku/typedmarshal](https://github.com/puhitaku/typedmarshal)