Ändern einer Python-Docstring mit einem Dekorateur: Ist das eine gute Idee?

Ein python-docstring muss als literal-string gegeben werden; Aber manchmal ist es sinnvoll, ähnliche Docstrings für mehrere Funktionen (zB verschiedene Konstruktoren) zu haben, oder mehrere Zugriffsmethoden können dieselbe Liste von Argumenten akzeptieren (und dann auf dieselbe versteckte Methode angewiesen sein), also wäre es schön, dieselbe Beschreibung zu verwenden überall. Für solche Fälle kann ich einen docstring __doc__ , indem ich __doc__ __doc__ , was ich mit einem einfachen Dekorator mache. Das System arbeitet sehr nett (in Python 2), und ich freue mich über wie einfach, klar und gut verkapselt ist es.

Die Frage: Ist das eine gute Idee? Insbesondere gibt es Werkzeuge, die durch diese Einrichtung verwirrt werden würden (zB alles, was Docstrings aus der Quelle und nicht aus dem Bytecode extrahiert). Ist die Lösung noch in Python 3 zu arbeiten? Gibt es andere Gründe oder Umstände, die das nicht ratsam machen würden?

One Solution collect form web for “Ändern einer Python-Docstring mit einem Dekorateur: Ist das eine gute Idee?”

Es sollte keine Werkzeuge brechen und es sollte auf Python 3 arbeiten.

Es ist ok Wenn es nicht verletzt eine Quellcode-Lesbarkeit dh, können Sie immer noch herausfinden, was die Funktion tut und wie man es benutzt.

Das Problem könnte sein, dass es ein schlechtes Design maskiert. Wenn mehrere Methoden die gleiche Liste von Argumenten verwenden, sollte der Code umgestaltet werden (erstellen Sie ein Objekt, das mit der Liste arbeitet) anstatt gepatched durch die Erzeugung von sich wiederholenden docstrings.

Python ist die beste Programmiersprache der Welt.