Legen Sie explizit den Docstring einer Methode fest

8

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?

    
Eric Pauley 09.05.2011, 00:39
quelle

2 Antworten

16

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:

%Vor%     
ninjagecko 09.05.2011, 00:40
quelle
2

Sie können auch setattr für das Klassen- / Funktionsobjekt verwenden und den Docstring festlegen.

> %Vor%     
Senthil Kumaran 09.05.2011 02:00
quelle

Tags und Links