8
python 3.5+支持類型提示的事實在生成包裝時有很好的用例,例如通過SWIG。使用SWIG生成Python類型提示
因爲IDE/linter可以執行編譯時類型檢查,所以在使用大型C++ API時使用類型提示會使體驗有很大改進。
如何使用SWIG生成類型提示?
python 3.5+支持類型提示的事實在生成包裝時有很好的用例,例如通過SWIG。使用SWIG生成Python類型提示
因爲IDE/linter可以執行編譯時類型檢查,所以在使用大型C++ API時使用類型提示會使體驗有很大改進。
如何使用SWIG生成類型提示?
swig autodoc功能,可以給你這個,至少在簡單情況下。
添加%feature("autodoc", "1")
你痛飲接口代碼,將生成的東西,如:
def function_name(*args, **kwargs):
"""function_name(int x, int y, Foo foo=None, Bar bar=None) -> bool"""
...
見http://www.swig.org/Doc3.0/SWIGDocumentation.html#Python_nn67
使用'%Python代碼%{%}'語法,你可以簡單地注入Python代碼和系統封裝函數帶有提示功能。對於你可以使用'%extend'的類。最好是,你可以在你的類型地圖中包含這些擴展,所以不需要手動工作。許多人對python 3.0不滿意,所以我預計這需要一段時間纔會成爲標準類型映射的一部分 –