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/推論類型工具使用新的花式語法用於Python 3.10中引入的類型註釋。因此,代替Optional[str]會發出str | None 。如果您的代碼應該在較舊版本的Python上運行,請在每個文件的開頭添加from __future__ import annotations 。它將解決該問題,並使您的應用程序更快地啟動您的應用程序。您也可以使用Isort做到這一點:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/請參閱Awesome-Python類型,以獲取更多工具,以幫助您註釋代碼。
None 。yield語句,則返回類型是typing.Iterator 。is_open函數返回bool ,因為它始於is_ 。您只能使用--only標誌來運行特定的啟發式。