2011-04-02 11 views
6

Estoy tratando de decidir qué información poner en la clase docstring y qué poner en el método __init__ docstring. Hasta ahora he estado poniendo una visión general de la clase y cómo trabajar con ella en la clase docstring, mientras que las cosas directamente relacionadas con la inicialización (detalles del argumento, etc.) puse el __init__ docstring.¿Poner docstrings en métodos especiales?

Hoy comencé a preguntarme si esta era la manera correcta de hacerlo, así que miré un par de módulos integrados, y veo que el método __init__ casi nunca tiene un docstring. De acuerdo con PEP8, "Docstrings no son necesarios para métodos no públicos", pero no es __init__ público?

En la misma línea, ¿qué pasa con otros métodos especiales, como __getitem__, __getattr__ o __new__, en caso de que tengan docstrings? ¿O debería mencionar las consecuencias que tienen en la clase docstring?

Respuesta

9

Directamente desde PEP 257:

Los métodos públicos (incluyendo el __init__ constructor) también debería tener cadenas de documentación.

[...]

El constructor de la clase, deberá ser documentada en la cadena de documentación para su método __init__.

+0

¡La vergüenza! Pensé que había hecho bien mi investigación, y extraño el lugar obvio para mirar. :( –

Cuestiones relacionadas