astypes
0.2.6
مكتبة Python لاكتشاف الأنواع بشكل ثابت لعقد AST.
حالة الاستخدام الجيدة هي Linter التي تحتاج إلى تشغيل بعض القواعد فقط لأنواع معينة. str سبيل المثال ، للتحقق من وسيطات something.format(a=b) something
python3 -m pip install astypesيستخدم Astypes Astroid لاستنتاج تعريفات العقد. لذا ، إذا كان الكود الخاص بك يعمل مع عقد AST ، فستحتاج إلى تحويلها إلى Astroid أولاً:
import astroid
import astypes
module = astroid . parse ( source_code )
node = astypes . find_node ( module , ast_node )وعندما يكون لديك عقدة Astroid ، يمكنك الحصول على نوعها:
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'للحصول على مثال للاستخدام في العالم الحقيقي ، تحقق من أنواع مستنتج. إنها أداة CLI التي تضيف تلقائيًا من نوع التعليقات التوضيحية إلى رمز Python باستخدام Astypes.
يمكنك العثور على معظم المنطق في astypes/_handlers.py. باختصار:
13 هو دائما int .list(x) إرجاع list النوع. قد لا يكون هذا صحيحًا إذا ظلت list الظل بشيء آخر.