PEP 8 – Guia de Estilo para Python Por Ricardo Costa Val do Rosario
1. O que é PEP 8?
PEP 8 é o documento oficial que define convenções de formatação e estilo para código Python. Ele foi criado para tornar o código mais legível e consistente entre desenvolvedores e projetos.
2. Indentação
Use sempre 4 espaços por nível de indentação. Não misture tabs e espaços: configure seu editor para converter tabs em espaços.
3. Comprimento de Linha
Mantenha cada linha com, no máximo, 79 caracteres. Para textos longos (strings, docstrings), use 72 caracteres como referência.
4. Linhas em Branco
• Duas linhas em branco antes de definições de nível de módulo e classe • Uma linha em branco antes de definições de métodos de instância e funções internas
5. Espaços em Expressões e Instruções
Coloque espaços ao redor de operadores binários e após vírgulas, mas sem exageros:
# Correto
x = a + b
func(arg1, arg2)
# Evite
x=a+b
func( arg1,arg2 )
6. Convenções de Nomeação
Tipo Convenção Exemplo
Variáveis/Funções snake_case media_aluno, calcula_soma()
Classes PascalCase Aluno, ProcessadorDeDados
Constantes UPPER_SNAKE MAX_LINHAS, TAXA_JUROS
Módulos/Pacotes short_snake utils.py, meu_pacote
7. Imports
Agrupe e ordene em três blocos, cada um separado por linha em branco:
Bibliotecas da biblioteca padrão
Bibliotecas de terceiros
Módulos locais do projeto
Padrão
import os import sys
Terceiros
import numpy as np import pandas as pd
Locais
from meu_pacote.utils import ler_dados
8. Comentários e Docstrings
• Comentários devem explicar “por quê”, não “como”
• Docstrings (três aspas) para módulos, classes e funções
• Primeiro parágrafo da docstring deve ser um resumo de uma linha
• Mantenha comentários curtos e atualizados
def filtra_pares(nums: list[int]) -> list[int]:
"""
Retorna uma lista somente com números pares de 'nums'.
"""
return [n for n in nums if n % 2 == 0]
9. Strings
Escolha aspas simples ou duplas e seja consistente dentro de um mesmo módulo.
Use raw strings (r"texto") para expressões regulares, caminhos de arquivo ou textos que não devem escapar barras.
10. Pontos Finais e Vírgulas
• Evite ponto e vírgula (;) para separar instruções na mesma linha
• Em coleções multilinha, inclua a vírgula final no último elemento
lista = [
"a",
"b",
"c",
]
11. Ferramentas de Auxílio
• Formatadores: Black, YAPF
• Linters: Flake8, pylint
• Tipo estático: mypy
• Hooks de Git: pre-commit
12. Onde Encontrar
Documentação oficial em:
https://peps.python.org/pep-0008/
Adotar PEP 8 aumenta a clareza do seu código, facilita a colaboração e reduz erros de estilo.