以下のように、for文の中や複数の変数を1行で宣言する場合などはType Annotationが付けられない。まじか。。
for i: int in range(6): ... j: int, k: int = func()
以下のように変数宣言を外だしすればAnnotationをつけられるが、読みづらくなるのでやりたくない。
i: int for i in range(6): ...
現状は以下のルールで運用している。 ・PyCharmは型推論してくれるので、型推論が効く場合はType AnnotationなしでOK ・型推論が効かない場合は例えばTupleでなくデータを保持するクラスを作ってそのクラスのオブジェクト経由で渡すようにするとか別の方法でType Annotationをつける
Pythonは言語仕様がイマイチなところがいろいろあるなぁ。。いいところもあるんだけど。
参考: