Obtendo a documentação de uma função


184

Eu tenho a seguinte função:

def my_func():
    """My docstring is both funny and informative"""
    pass

Como obtenho acesso à documentação?


13
Observe que a execução do Python com -OO retira as instruções. Se você pretende distribuir seu código para outras pessoas, lembre-se de que elas podem ser executadas dessa maneira. Isso deixará essas pessoas realmente muito infelizes se o seu código se basear em documentos, mas não entender o caso em que eles não existem.
DNS

Respostas:


243

Interativamente, você pode exibi-lo com

help(my_func)

Ou a partir do código, você pode recuperá-lo com

my_func.__doc__

1
BTW: Essa técnica trabalha com funções internas, bem como módulos e classes (test help () também com objetos - também pode funcionar). Isso faz do seu shell python um shell de ajuda interativo!
Daren Thomas

3
No prompt do ipython, você pode executar my_func ?? e mostraria a doutrina também.
Ronak 29/03/16

1
help (func) fornece uma saída legível, enquanto func .__ doc__ fornece uma saída embutida. Obrigado pela resposta.
imsrgadich

77

Você também pode usar inspect.getdoc. Ele limpa a __doc__normalização de guias em espaços e desloca o corpo do documento para a esquerda para remover os espaços iniciais comuns.


8

No notebook ipython ou jupyter, você pode usar todas as maneiras mencionadas acima, mas eu vou com

my_func?

ou

?my_func

para um resumo rápido da assinatura e da documentação do método.

Eu evito usar

my_func??

(como comentado por @rohan) para docstring e use-o apenas para verificar o código-fonte

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.