PEP 8 - Guia de estilo para código Python
Este artigo é uma tradução/adaptação da PEP 8 - Style Guide for Python Code, de Guido van Rossum e Barry Warsaw, que mostra as convenções para escrever código Python.
Parte 4: Espaços em branco
Evite espaços em branco nas seguintes situações:
Imediatamente dentro de parênteses, colchetes e chaves.
Sim: spam(ham[1], {eggs: 2})
Não: spam( ham[ 1 ], { eggs: 2 } )
Imediatamente antes de vírgula, ponto-e-vírgula e dois-pontos:
Sim: if x == 4: print x, y; x, y = y, x
Não: if x == 4 : print x , y ; x , y = y , x
Imediatamente antes do parêntese de abertura da lista de argumentos de uma função:
Sim: spam(1)
Não: spam (1)
Imediatamente antes do colchete de índices/fatias:
Sim: dict['key'] = list[index]
Não: dict ['key'] = list [index]
Mais de um espaço em volta de um operador para alinhar com os outros.
Sim:
Sim:
Sim:
Preferivelmente não:
Imediatamente dentro de parênteses, colchetes e chaves.
Sim: spam(ham[1], {eggs: 2})
Não: spam( ham[ 1 ], { eggs: 2 } )
Imediatamente antes de vírgula, ponto-e-vírgula e dois-pontos:
Sim: if x == 4: print x, y; x, y = y, x
Não: if x == 4 : print x , y ; x , y = y , x
Imediatamente antes do parêntese de abertura da lista de argumentos de uma função:
Sim: spam(1)
Não: spam (1)
Imediatamente antes do colchete de índices/fatias:
Sim: dict['key'] = list[index]
Não: dict ['key'] = list [index]
Mais de um espaço em volta de um operador para alinhar com os outros.
Sim:
x = 1 y = 2 long_variable = 3Não:
x = 1 y = 2 long_variable = 3Outras recomendações:
- Sempre coloque espaços em volta de operadores
- Não use espaços em volta do '=' quando é uma palavra-chave de um argumento ou um valor padrão para um parâmetro.
Sim:
def complex(real, imag=0.0):
return magic(r=real, i=imag)
Não:
def complex(real, imag = 0.0):
return magic(r = real, i = imag)
Statements em uma só linha são desencorajados.
Sim:
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()
Preferivelmente não:
if foo == 'blah': do_blah_thing() do_one(); do_two(); do_three()Enquanto não há problemas em usar if/for/while pequenos em uma só linha.
Preferivelmente não:
if foo == 'blah': do_blah_thing() for x in lst: total += x while t < 10: t = delay()Definitivamente não:
if foo == 'blah': do_blah_thing()
else: do_non_blah_thing()
try: something()
finally: cleanup()
do_one(); do_two(); do_three(long, argument,
list, like, this)
if foo == 'blah': one(); two(); three()