HOWTO · Python
Continuação de linha em Python
Existem 2 métodos principais que podem ser usados para continuação de linha em Python.
Nesta página
A continuação de linha em Python permite que uma única instrução lógica ocupe várias linhas físicas. Use esse recurso para formatar uma expressão longa ou uma coleção e facilitar a leitura de suas partes. Python pode continuar uma instrução implicitamente enquanto um parêntese, colchete ou chave de abertura não tiver o delimitador correspondente; uma barra invertida no fim de uma linha física solicita a continuação explicitamente.
O que a continuação de linha faz em Python
Uma linha física é uma linha tal como aparece no arquivo-fonte. Uma instrução lógica é a instrução completa que Python analisa. A continuação permite organizar uma única instrução em várias linhas físicas sem transformar cada linha em uma instrução separada. A indentação das linhas continuadas serve principalmente para facilitar a leitura; dentro de delimitadores de agrupamento, Python usa os próprios delimitadores para determinar onde a expressão continua.
Em expressões comuns, coloque as partes entre parênteses e deixe os delimitadores manterem a instrução aberta. Execute este exemplo:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
total = (12 + 18 +
20)
print(total)
50
O exemplo exibe o valor 50.
Continuação implícita de linha com delimitadores de agrupamento
A continuação implícita funciona dentro de parênteses (), colchetes [] e chaves {}. Ela é útil em chamadas de função, listas, tuplas, dicionários e expressões distribuídos por várias linhas. O delimitador de fechamento encerra a expressão agrupada, permitindo que a instrução seguinte comece normalmente. Mantenha itens relacionados alinhados de maneira consistente para deixar a estrutura clara.
Este exemplo usa uma lista e um dicionário; ambos permanecem abertos ao longo de várias linhas físicas:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
colors = [
"blue",
"orange",
]
settings = {
"theme": "light",
"active": True,
}
print(colors[0], settings["theme"])
A mesma regra vale para uma chamada de função ou um cálculo entre parênteses. A continuação só é possível enquanto o delimitador de agrupamento correspondente estiver aberto. Uma quebra de linha entre instruções que, de outro modo, seriam separadas não as une, e a indentação, por si só, não oferece continuação geral. Prefira uma expressão completamente agrupada a depender da indentação para fazer uma instrução longa parecer conectada.
A saída do exemplo é blue light; essa frase permanece em inglês no exemplo original.
Continuação explícita de linha com uma barra invertida
A continuação explícita usa uma barra invertida (\) como último caractere de uma linha física. Python remove a barra invertida e a quebra de linha seguinte e, então, continua analisando a mesma linha lógica. A barra invertida precisa ser seguida imediatamente pelo fim da linha: espaços, um comentário ou qualquer outro caractere após ela impedem a continuação e causam um SyntaxError.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
message = "Python " + \
"continues this expression."
print(message)
Essa forma pode dividir uma expressão quando os delimitadores de agrupamento não são adequados, mas cada linha continuada depende de a linha anterior terminar exatamente com a barra invertida. Por isso, é fácil introduzir erros ao editar: adicionar um comentário depois da barra ou deixar espaços ali altera a sintaxe. A barra invertida também não serve para continuar qualquer construção; use delimitadores de agrupamento quando a expressão puder ser representada naturalmente dentro deles.
A saída do exemplo é Python continues this expression.; essa frase permanece em inglês no exemplo original.
Como escolher um método de continuação e evitar erros de sintaxe
Para a maioria das expressões e coleções distribuídas por várias linhas, prefira a continuação implícita dentro de parênteses, colchetes ou chaves. Ela deixa a continuação visível na estrutura da expressão e permite incluir comentários em linhas separadas dentro do grupo. Use a barra invertida quando houver um motivo específico para o agrupamento não funcionar para a disposição desejada e confira se ela é o último caractere antes da quebra de linha.
Quando Python indicar um erro de sintaxe perto de uma quebra de linha, verifique primeiro se cada delimitador de abertura tem um delimitador de fechamento correspondente e se há espaços ou um comentário depois de uma barra invertida. Confira também se uma expressão foi dividida fora de um contexto de agrupamento sem uma continuação explícita. Essas verificações abordam as causas comuns sem alterar a lógica da instrução.
Para orientações mais amplas sobre comprimento de linha e formatação, consulte PEP 8, o guia de estilo de Python. Suas recomendações complementam as regras de sintaxe: escolha uma disposição que facilite acompanhar a instrução lógica e use a continuação implícita quando ela se encaixar naturalmente.