Ist das Code-Fragment deins? Wenn ja, können Sie die Mechanik verwenden, die Sie mögen, z. fügen Sie der Funktion für eine spätere Überprüfung ein Attribut direkt hinzu: SomeClass.port.fget.return_type = int
. Probieren Sie es aus, es funktioniert. Seien Sie nur vorsichtig, um die Eigenschaft über die Klasse zu qualifizieren, nicht über die Instanz (oder verwenden Sie .__class__
für eine Instanz).
Wenn nicht, parse die port.__doc__
und extrahieren Sie das entsprechende Feld.
Wenn Sie CPU-eingeschränkt sind, können Sie z. SQLAlchemy ohne die ORM-Ebene. Es kann sehr effizient SQL aus Tabellenmodellen vor der Zeit, z. während des Starts. Dann rufen Sie sie nur mit den richtigen Parametern auf und zahlen nur wenig CPU-Zeit. In den meisten Fällen wird die Query-Erstellung und Ergebnisdecodierung durch den DB-Round-Trip minimiert.
Gleiches gilt für die Analyse der RST: Sie können es im Voraus tun, z. als ein Erstellungsschritt, und speichert die Information in einer leicht zu analysierenden Datei, z. JSON oder sogar als eingelegte Python-Daten, und laden Sie es schnell als Startup.
Warum möchten Sie das tun? –
Ich brauche es wie Typ für Database –
Dann bellen Sie auf den falschen Baum. Docstrings sind für den Menschen, nicht für die Metaprogrammierung, und das Verlassen auf Doctrsing-Parsing wäre bestenfalls brüchig. Wenn Sie etwas Zuverlässiges wollen, müssen Sie ein richtiges Attribut schreiben -> sql type mapping. –