infer types
1.0.0
タイプの注釈をPythonコードに自動的に追加するCLIツール。
このツールを使用するための主なシナリオは、大きくて古いコードベースに注釈を付けるのに役立ちます。現実世界の機能の多くは、自動的に簡単に推測できる非常に単純なリターンタイプを持っているため、100%のタスクを解決することはありませんが、間違いなく非常に役立ちます。
特徴:
たとえば、次の方法があります。
class Database :
def users_count ( self ):
return len ( self . users ) len常にintを返すため、 infer-typesメソッドのリターンタイプを推測できます。したがって、ツールを実行した後、コードは次のようになります。
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/このツールは、複製できる新しいインポートステートメントを追加し、ファイルの上部にないようにします。それを修正するには、ISORTを実行します。
python3 -m isort ./example/ Imber-Typesツールは、Python 3.10で導入されたタイプアノテーションに新しいファンシー構文を使用します。したがって、 Optional[str]の代わりに、 str | Noneを放出しますstr | None 。コードがPythonの古いバージョンで実行されることになっている場合は、各ファイルの先頭にfrom __future__ import annotations追加します。問題を解決し、アプリの起動をより速くします。 ISORTでそれを行うこともできます:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/コードの注釈に役立つより多くのツールについては、Awesome-Python-Tyingを参照してください。
None 。yieldステートメントがある場合、返品タイプはtyping.Iteratorです。is_open関数は、 is_で始まるため、 boolを返すと想定されます。 --onlyフラグを使用して、特定のヒューリスティックのみを実行できます。