astypes
0.2.6
ASTノードのタイプを静的に検出するPythonライブラリ。
有効なユースケースは、特定のタイプに対してのみいくつかのルールを実行する必要があるリナーです。たとえば、何かの引数を確認するには、 something型strを持っている場合にのみsomething.format(a=b)確認します。
python3 -m pip install astypesASTYPESはアストロイドを使用してノードの定義を推測します。したがって、コードがASTノードで動作する場合は、最初にアストロイドに変換する必要があります。
import astroid
import astypes
module = astroid . parse ( source_code )
node = astypes . find_node ( module , ast_node )アストロイドノードを持っている場合、そのタイプを取得できます。
node_type = astype . get_node ( node )
print ( node_type . annotation )例:
import astroid
import astypes
node = astroid . extract_node ( '1 + 2.3' )
t = astypes . get_type ( node )
print ( t . annotation ) # 'float'現実世界の使用例については、Imber-Typesをご覧ください。これは、ASTypesを使用してタイプアノテーションをPythonコードに自動的に追加するCLIツールです。
ほとんどのロジックは、ASTYPES/_Handlers.pyで見つけることができます。要するに:
13常にintです。list(x)タイプlistを返すと想定しています。他の何かでリストlistしても、それは真実ではないかもしれません。