Como Documentar Código Python com Docstrings

Atualizado em: 07/11/2025
Tempo de leitura: 8 minutos
Pessoa programando em um notebook, vista de trás, com código desfocado exibido na tela em um fundo escuro

Documentar um código é uma das práticas mais importantes na programação. No Python, isso pode ser feito de forma simples e elegante com docstrings. Elas ajudam outros desenvolvedores (e você mesmo no futuro) a entenderem o que cada parte do programa faz. Neste artigo, você vai aprender o que são docstrings, como usá-las corretamente e boas práticas para criar uma documentação clara e útil.


O que são docstrings no Python

As docstrings são strings de documentação. Elas servem para descrever o que um módulo, função, classe ou método faz.
A principal diferença em relação a um simples comentário é que as docstrings ficam acessíveis dentro do próprio código, podendo ser visualizadas com ferramentas ou pela função help().

Um exemplo simples:

Python
def somar(a, b):
    """Retorna a soma de dois números."""
    return a + b

Se você executar help(somar), o Python exibirá o texto da docstring, mostrando exatamente o que a função faz.


Por que documentar com docstrings é importante

Documentar o código não é apenas uma boa prática, é um investimento. Algumas razões importantes para usar docstrings:

  • Facilita a leitura: o próximo programador (ou você no futuro) entenderá rapidamente o propósito da função.
  • Ajuda em ferramentas automáticas: frameworks como Sphinx e pdoc podem gerar documentação completa a partir das docstrings.
  • Melhora a colaboração: em projetos com várias pessoas, todos seguem o mesmo padrão.
  • Integração com IDEs: editores como PyCharm e VSCode exibem as docstrings quando você passa o mouse sobre funções e classes.

Onde usar docstrings

Você pode adicionar docstrings em praticamente qualquer estrutura de código:

  1. Módulos: descrevem o propósito do arquivo Python.
  2. Funções e métodos: explicam o que a função faz e o que cada parâmetro representa.
  3. Classes: descrevem o objetivo da classe e como ela deve ser usada.
  4. Pacotes: podem incluir docstrings no arquivo __init__.py para explicar o conjunto de módulos.

Exemplo com cada tipo:

Python
"""Módulo de operações matemáticas básicas."""

class Calculadora:
    """Classe que realiza operações de soma e subtração."""

    def somar(self, a, b):
        """Retorna a soma de dois números."""
        return a + b

    def subtrair(self, a, b):
        """Retorna a subtração de dois números."""
        return a - b

Como escrever uma boa docstring

Uma boa docstring deve explicar claramente o propósito da função ou classe, e não repetir o óbvio.
Veja algumas dicas práticas:

1. Use frases curtas e diretas

A primeira linha deve ser uma descrição simples do que o código faz.

Python
def dividir(a, b):
    """Divide dois números e retorna o resultado."""

2. Adicione detalhes extras quando necessário

Use uma linha em branco após a descrição inicial, e em seguida explique mais detalhes ou parâmetros.

Python
def dividir(a, b):
    """
    Divide dois números e retorna o resultado.

    Parâmetros:
        a (float): primeiro número
        b (float): segundo número
    Retorna:
        float: resultado da divisão
    """

3. Siga um padrão de formatação

Existem diferentes estilos, como Google, NumPy e reStructuredText (reST).
Escolher um padrão é importante, especialmente em equipes.

Exemplo no estilo Google:

Python
def multiplicar(a, b):
    """Multiplica dois números.

    Args:
        a (float): primeiro número
        b (float): segundo número
    Returns:
        float: resultado da multiplicação
    """

Principais padrões de docstring

Abaixo, uma comparação entre três estilos populares:

EstiloCaracterísticas principaisIdeal para
GoogleSimples e fácil de ler, usa “Args” e “Returns”.Pequenos e médios projetos.
NumPyMais detalhado, usado em projetos científicos.Projetos com fórmulas e arrays.
reSTCompatível com o Sphinx e ideal para documentação automática.Grandes bibliotecas e APIs.

Boas práticas ao criar docstrings

  • Evite repetições. Se a função se chama somar, não diga “Função que soma números”. Prefira “Retorna a soma de dois valores”.
  • Mantenha o tempo verbal no presente: “Retorna” em vez de “Retornará”.
  • Não comente o óbvio.
  • Use exemplos curtos, mas claros.
  • Siga o mesmo idioma em todo o projeto (seja português ou inglês).
  • Atualize sempre: se mudar a função, atualize a docstring também.
  • Padronize: use o mesmo estilo em todo o código.

Docstrings em classes e métodos

Em classes, a docstring deve explicar o que a classe representa e como deve ser usada.
Nos métodos, documente apenas o que não for óbvio.

Python
class ContaBancaria:
    """Representa uma conta bancária simples."""

    def __init__(self, titular, saldo=0):
        """
        Inicializa uma nova conta.

        Args:
            titular (str): nome do titular.
            saldo (float, opcional): valor inicial. Padrão é 0.
        """
        self.titular = titular
        self.saldo = saldo

    def depositar(self, valor):
        """Adiciona um valor ao saldo da conta."""
        self.saldo += valor

Como visualizar docstrings no Python

Você pode visualizar a docstring de qualquer função ou classe com o comando help():

Python
help(ContaBancaria)

Isso mostrará todo o texto da docstring diretamente no terminal.

Também é possível acessar a docstring diretamente com o atributo __doc__:

Python
print(ContaBancaria.__doc__)

Gerando documentação automática

Ferramentas como Sphinx, pdoc, Doxygen e MkDocs permitem transformar suas docstrings em documentação completa com páginas HTML.
Essas ferramentas leem as docstrings diretamente do código e geram sites de documentação prontos para publicar.

Se você mantém um projeto open source no GitHub, usar uma dessas ferramentas é uma excelente forma de mostrar profissionalismo e organização.


Erros comuns ao usar docstrings

  • Esquecer de adicionar a docstring em funções novas.
  • Usar comentários no lugar errado (fora das aspas triplas).
  • Escrever docstrings muito genéricas, como “Função principal”.
  • Não manter o padrão entre os arquivos.
  • Deixar docstrings desatualizadas após alterar o código.

Conclusão

As docstrings são uma das formas mais eficientes de documentar código Python. Elas tornam seu projeto mais organizado, colaborativo e profissional.
Ao adotar um estilo padronizado e manter as docstrings sempre atualizadas, você facilita a vida de quem lê e usa o seu código.
Com boas docstrings, o seu código fala por si mesmo.


Perguntas Frequentes (FAQ)

1. O que é uma docstring?
É uma string usada para documentar o que uma função, classe ou módulo faz.

2. Qual a diferença entre comentário e docstring?
Comentários não aparecem na ajuda do Python, docstrings sim.

3. Onde colocar a docstring?
Logo abaixo da definição da função, classe ou módulo.

4. Que aspas devo usar na docstring?
Use aspas triplas """ no início e no fim do texto.

5. Posso usar docstring em português?
Sim, o importante é manter o mesmo idioma em todo o projeto.

6. O que significa o padrão Google em docstrings?
É um formato simples que organiza os parâmetros e retornos com “Args” e “Returns”.

7. Como vejo a docstring de uma função?
Use o comando help(nome_da_função) no terminal.

8. Ferramentas como Sphinx leem docstrings?
Sim, elas geram documentação automaticamente a partir delas.

9. É obrigatório usar docstrings no Python?
Não, mas é fortemente recomendado.

10. Quantas linhas deve ter uma docstring?
O suficiente para explicar o que faz, sem exageros.

11. Posso usar exemplos dentro da docstring?
Sim, exemplos ajudam a entender o uso da função.

12. Preciso atualizar docstrings quando mudo o código?
Sim, sempre atualize para evitar inconsistências.


Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Boas Práticas
    Foto do Leandro Hirt

    Descubra como medir o tempo de código com timeit

    Se você já se perguntou por que um trecho de código demora mais que outro ou se uma alteração realmente

    Ler mais

    Tempo de leitura: 12 minutos
    10/03/2026
    Boas Práticas
    Foto do Leandro Hirt

    Como ler variáveis de ambiente em Python sem erro

    Gerenciar informações sensíveis, como chaves de API, senhas de banco de dados e tokens de acesso, é uma das tarefas

    Ler mais

    Tempo de leitura: 10 minutos
    25/02/2026
    Boas Práticas
    Foto do Leandro Hirt

    Como criar e usar dataclasses em Python facilmente

    No vasto ecossistema da programação, gerenciar dados em classes pode, muitas vezes, parecer uma tarefa repetitiva e cansativa. Se você

    Ler mais

    Tempo de leitura: 9 minutos
    18/02/2026
    Boas Práticas
    Foto do Leandro Hirt

    Hash de senhas em Python: Crie hashes seguros em minutos

    Garantir a segurança dos dados dos usuários é uma das responsabilidades mais críticas de qualquer desenvolvedor de software. Quando falamos

    Ler mais

    Tempo de leitura: 10 minutos
    16/02/2026
    Boas Práticas
    Foto do Leandro Hirt

    Por que seu script Python é lento? Dicas de otimização

    Você já sentiu que seu código está demorando mais do que o esperado para processar uma tarefa simples? Entender por

    Ler mais

    Tempo de leitura: 7 minutos
    13/02/2026
    Boas Práticas
    Foto do Leandro Hirt

    Logging em Python para iniciantes

    Você já se sentiu perdido tentando entender por que seu código não funciona ou por que um erro estranho apareceu

    Ler mais

    Tempo de leitura: 11 minutos
    11/02/2026