Ich helfe ein Paket für Python namens nxt-python zu pflegen. Es verwendet Metaklassen, um die Methoden eines Steuerobjekts zu definieren. Hier ist die Methode, die die verfügbaren Funktionen definiert:
%Vor%Ich möchte in der Lage sein, jeder dieser hinzugefügten Methoden einen anderen Docstring hinzuzufügen. m ist eine Methode, die von _make_poller () zurückgegeben wird. Irgendwelche Ideen? Gibt es eine Möglichkeit, die Python-Einschränkung beim Ändern von Docstrings zu umgehen?
Für einfache Funktionen:
%Vor% Dies funktioniert in python2 und python3, auf Funktionen mit und ohne definierten Docstrings. Sie können auch +=
ausführen. Beachten Sie, dass es __doc__
und nicht __docs__
ist.
Für Methoden müssen Sie das __func__
-Attribut der Methode verwenden:
Sie können auch setattr für das Klassen- / Funktionsobjekt verwenden und den Docstring festlegen.
> %Vor%