はじめに
最近、動的型付けの言語に型を宣言して書くスタイルが流行っているように思います。(説明が雑ですが)
Pythonも例に漏れず、その流れを汲んでいます。allennlpとか、fastapiとか綺麗にtypeを書いてくれてるので参考になります。
個人的には、APIの型をちゃんと書いてくれてると、OSSのソースコードとかも読みやすいし、チームで開発する際にも良いことがたくさんあると思っています。「動的な言語は、型がないからいいんじゃん!」っていう方もいると思いますが...
導入自体は難しくないので、Pythonの公式やmypyなどを確認してみると良いです!
TypeHint: https://docs.python.org/ja/3/library/typing.html
Mypy: http://mypy-lang.org/
for
さて、静的型付けの言語、特にCとかだとforで新しい変数を宣言するときに、以下のように書くことがあると思います。
for (int i = 0; i < 10; i++) {
hoge
};
これをPythonで書くと、
i: int
for i in range(10):
hoge
これだけ。
with
from typing import IO
from pathlib import Path
fp = Path('file_path')
f: IO
with fp.open('r') as f:
pass
らしいです。
ちなみに、for, with以外では許されていない記法らしいです。