Vamos cobrir as regras mais importantes e frequentemente usadas da PEP 8:
Indentação:
Tab
para 4 espaços.# Correto
def minha_funcao():
print("Hello")
if True:
print("World")
# Incorreto
def minha_funcao():
print("Hello") # Apenas 2 espaços
def minha_funcao():
print("Hello") # Usando tab
Linhas em Branco:
class MinhaClasse:
def __init__(self):
pass# Uma linha em branco antes do próximo método
def meu_metodo(self):
pass
def minha_outra_funcao(): # Duas linhas em branco antes de uma nova função
pass
Tamanho Máximo da Linha:
()
, colchetes []
ou chaves {}
.\\
(mas evite, se possível, pois pode ser frágil).# Correto (quebra de linha implícita dentro de parênteses)
minha_variavel_longa = (primeiro_item + segundo_item +
terceiro_item + quarto_item)
# Incorreto (linha muito longa)
#minha_variavel_longa = primeiro_item + segundo_item + terceiro_item + quarto_item + quinto_item
Nomenclatura:
_
(snake_case).
meu_modulo.py
, utilitarios
MinhaClasse
, UsuarioModelo
_
).
minha_funcao
, nome_usuario
, total_vendas
_
.
MAX_CONEXOES
, PI
_
(ex: _minha_variavel_interna
). Isso não impede o acesso, mas sinaliza que é para uso interno.__
(ex: __minha_variavel_muito_privada
). Python renomeia isso para evitar colisões em herança. Use com cautela.Espaços em Branco:
,
.=
, +
, , ==
, etc.).# Correto
a = 1 + 2
lista = [1, 2, 3]
dicionario = {'chave': 'valor'}
funcao(arg1, arg2)
# Incorreto
a=1+2
lista = [ 1, 2, 3 ]
dicionario = { 'chave':'valor' }
funcao( arg1,arg2 )
Importações:
import os
import sys
import requests
from django.conf import settings
from meu_app.models import Usuario
from .utils import helper_function
Comentários:
#
para comentários de linha única.def calcular_area_quadrado(lado):
"""
Calcula a área de um quadrado.
Args:
lado (float): O comprimento do lado do quadrado.
Returns:
float: A área calculada.
"""
# Garante que o lado seja positivo antes do cálculo
if lado <= 0:
raise ValueError("O lado deve ser um valor positivo.")
return lado * lado