Python 3.5+支持类型提示,这对于通过SWIG生成包装器时有很大的用途。 当使用大型C++ API时,具有类型提示会使体验得到很大改善,因为您的IDE / linter可以执行编译时类型检查。 如何使用SWIG生成类型提示?
Swig的自动文档功能可以在简单情况下为您提供此功能。 将%feature("autodoc", "1")添加到您的SWIG接口代码中,将生成以下内容: def function_name(*args, **kwargs): """function_name(int x, int y, Foo foo=None, Bar bar=None) -> bool""" ... 请参见SWIG手册。
%pythoncode %{ %}
语法简单地注入 Python 代码,并系统地用提示包装函数。对于类,你可以使用%extend
。最好将这些扩展包含在你的 typemaps 中,这样就不需要手动操作了。许多人对 Python 3.0 不满意,因此我预计它会花一段时间才能成为标准 typemaps 的一部分。 - Jens Munk