O mainstream é, como outras respostas aqui já apontaram, provavelmente seguindo o caminho da Esfinge para que você possa usar o Sphinx para gerar esses documentos sofisticados posteriormente.
Dito isto, eu pessoalmente uso ocasionalmente o estilo de comentários embutidos.
def complex( # Form a complex number
real=0.0, # the real part (default 0.0)
imag=0.0 # the imaginary part (default 0.0)
): # Returns a complex number.
"""Form a complex number.
I may still use the mainstream docstring notation,
if I foresee a need to use some other tools
to generate an HTML online doc later
"""
if imag == 0.0 and real == 0.0:
return complex_zero
other_code()
Mais um exemplo aqui, com alguns pequenos detalhes documentados em linha:
def foo( # Note that how I use the parenthesis rather than backslash "\"
# to natually break the function definition into multiple lines.
a_very_long_parameter_name,
# The "inline" text does not really have to be at same line,
# when your parameter name is very long.
# Besides, you can use this way to have multiple lines doc too.
# The one extra level indentation here natually matches the
# original Python indentation style.
#
# This parameter represents blah blah
# blah blah
# blah blah
param_b, # Some description about parameter B.
# Some more description about parameter B.
# As you probably noticed, the vertical alignment of pound sign
# is less a concern IMHO, as long as your docs are intuitively
# readable.
last_param, # As a side note, you can use an optional comma for
# your last parameter, as you can do in multi-line list
# or dict declaration.
): # So this ending parenthesis occupying its own line provides a
# perfect chance to use inline doc to document the return value,
# despite of its unhappy face appearance. :)
pass
Os benefícios (como @ mark-horvath já apontou em outro comentário) são:
- Mais importante, os parâmetros e seus documentos sempre ficam juntos, o que traz os seguintes benefícios:
- Menos digitação (não é necessário repetir o nome da variável)
- Manutenção mais fácil ao alterar / remover variável. Nunca haverá um parágrafo de documento de parâmetro órfão depois que você renomear algum parâmetro.
- e mais fácil encontrar comentários ausentes.
Agora, alguns podem pensar que esse estilo parece "feio". Mas eu diria que "feio" é uma palavra subjetiva. Uma maneira mais neutra é dizer, esse estilo não é popular, portanto pode parecer menos familiar para você e, portanto, menos confortável. Novamente, "confortável" também é uma palavra subjetiva. Mas o ponto é que todos os benefícios descritos acima são objetivos. Você não pode alcançá-los se seguir o caminho padrão.
Esperançosamente, algum dia no futuro, haverá uma ferramenta geradora de documentos que também poderá consumir esse estilo embutido. Isso conduzirá a adoção.
PS: Essa resposta deriva da minha preferência de usar comentários embutidos sempre que achar necessário. Também uso o mesmo estilo embutido para documentar um dicionário .