私は大規模な既存の Python コードベースを使用しており、型注釈の追加を開始して、ある程度の静的チェックを取得できるようにしたいと考えています。Erlang、Strongtalk、またはTyped Scheme/Racketのようなものを想像しています。
関数パラメーターに基づいて動的チェックを挿入し、型の注釈を返す、簡単で汚いデコレーターを見てきましたが、より堅牢で、コンパイル時にチェックを実行するものを探しています。
この種のことのために、現在どのようなツールが利用可能ですか? 私はコンパイラと型チェックに精通しており、基礎がしっかりしていれば、不完全なツールを改善したいと思っています。
(注: 静的型付けの長所/短所の議論には興味がありません。)
編集:例:
def put(d, k, v):
d[k] = v
put
関数に typeという注釈を付けたいと思いput<K,V>(dict<K,V>, K, V) -> None
ます。
UPDATE : 新しいPEP 484 (2014 年 9 月) は、Python 3.5+ の静的型付けと型注釈の標準を定義します。PEP 484 と互換性のあるmypyという型チェック ツールがあります。