プロポーザル
これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。
talk
ベンリに使おう変数アノテーション - typing.pyとの楽しいお付き合い(ja)
スピーカー
Takumi Sueda
対象レベル:
中級
カテゴリ:
Core Python (Language, Stdlib)
説明
変数アノテーションを実行時に読む方法から、実用的な活かし方までを解説。 (English slides + Japanese speech)
目的
変数アノテーションを実行時に読む方法から、実際のプログラムで使う方法、またPythonにおけるinstanceやtype、classの関係性を知る
概要
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)