2016-01-04 20 views
8

Die Tatsache, dass Python 3.5+ Typ-Hinweise unterstützt, hat einen großen Anwendungsfall beim Generieren von Wrappern, z. B. über SWIG.Python-Typ-Hinweise mit SWIG generieren

Typ Hinweise, wenn Sie mit einer großen C++ - API arbeiten würde für eine erheblich verbesserte Erfahrung, da Ihre IDE/Linter Compile Time Type Checking durchführen können.

Wie generiert man Typhinweise mit SWIG?

+1

Sie einfach Python-Code mit dem '% pythoncode% {%}' Syntax injizieren könnte und systematisch Funktionen wickeln mit Funktionen mit Hinweisen. Für Klassen könnte man '% extend' verwenden. Vorzugsweise können Sie diese Erweiterungen in Ihre Typemaps einfügen, sodass keine manuelle Arbeit erforderlich ist. Viele Leute sind unzufrieden mit Python 3.0 und ich nehme an, es dauert eine Weile, bis dies Teil der Standard-Typmaps sein wird –

Antwort

1

Die automatische Autodoc-Funktion, kann Ihnen dies zumindest in einfachen Fällen geben.

%feature("autodoc", "1") zu Ihrem SWIG Interface-Code hinzufügen, generiert Dinge wie:

def function_name(*args, **kwargs): 
    """function_name(int x, int y, Foo foo=None, Bar bar=None) -> bool""" 
    ... 

Siehe http://www.swig.org/Doc3.0/SWIGDocumentation.html#Python_nn67