Para que serve a barra invertida no Python (\ ou contra barra)

Neste artigo veremos para que serve a barra invertida no Python (\ ou contra barra) e suas formas de utilização na linguagem, comumente chamada de barra invertida.

A barra invertida (\), também chamada de contra barra, tem dois usos no Python: fora de string, colocada no fim da linha, ela une a linha atual com a de baixo em uma única linha lógica (continuação de código); dentro de string, ela forma sequências de escape junto com outro caractere, como \n (quebra de linha), \t (tab), \r (volta ao início da linha) e \\ (uma barra invertida literal)

para que serve a barra invertida python capa

Fala Programador(a), tudo bem? Bora aprender mais sobre Python!

Quando encontramos a barra invertida em um código Python, que não seja uma string, ela indica continuação de código em nova linha

Veja o exemplo:

a = 1
b = 2
c = 3

d = a + b \
+ c

print(d)

Neste código temos a saída de 6, que seria a mesma que se tivéssemos um código assim:

a = 1
b = 2
c = 3

d = a + b + c

print(d)

Caso você não adicionar esta barra invertida ou contra barra, o Python apresentará um erro de sintaxe

Porém o código não fica muito intuitivo utilizando este caractere especial, então pensei bem nas situações que você vai utilizar

Uma outra funcionalidade interessante do Python é que entre parenteses nas instruções de código, nós não precisamos adicionar a \

Veja este exemplo:

a = 1
b = 2
c = 3

d = (a + 
b + 
c)

print(d)

Já dentro de strings o \ tem uma função diferente, e combinado com alguns caracteres tem suas funções estabelecidas

  • \n: quebra de linha;
  • \t: caractere tab;
  • \b: backspace;
  • \r: retorna ao começo da linha;
  • \\: representa uma \;

Veja o exemplo com \n:

print("Testando a string em \n múltiplas linhas")

A saída será:

Testando a string em 
 múltiplas linhas

Veja o \t em ação:

print("Coloque um tab aqui\t!")

E a sua saída:

print("Coloque um tab aqui\t!")

Agora um exemplo com \b:

print("Apagar uma palavra\b\b\b\b\b\b\b é facil")

Sua saída será:

Apagar uma  é facil

Vejamos um exemplo com \r:

print("Vamos reescrever tudo \rxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")

A saída sera:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

E por último um exemplo utilizando o \\:

dir = "C:\diretorio"

print('\\' in dir)

Aqui receberemos True como resposta, pois há apenas uma \ na variável, a outra é ‘escapada’ da nossa checagem como explicado anteriormente

Conclusão

Neste artigo vimos para que serve a barra invertida no Python (\, contra barra)

Utilizamos de várias maneiras aliadas a algum caractere em meio a uma string, o que retorna uma função especial sendo executada na mesma

Já em uma linha normal de código, vimos que ele nos deixa executar a continuidade o código em outra linha

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Antes de tudo, uma confusão que sempre aparece: a barra invertida (\) é a que inclina para a esquerda, também chamada de contra barra. Não é a mesma coisa que a barra normal (/), que inclina para a direita e serve de divisão no Python. Neste artigo o foco é a \ (contra barra), aquela do escape dentro das strings e da continuação de linha no código

Raw string: a saída limpa pra caminhos e barras

Uma dúvida comum: e quando eu preciso de uma barra invertida de verdade no texto, tipo um caminho do Windows? Escapar tudo com \\ funciona, mas polui o código. A forma mais limpa é a raw string, um r antes das aspas, que faz o Python não interpretar os escapes:

caminho = r"C:\diretorio"

print(caminho)

Se você escrever direto "C:\diretorio" (sem o r e sem escapar a barra), a partir do Python 3.12 o interpretador te avisa com um SyntaxWarning, porque \d não é uma sequência de escape válida. As duas formas certas são usar raw string r"C:\diretorio" ou escapar a barra "C:\\diretorio"

Vale a dica: quebrar o código dentro de parênteses não é só um atalho, é a forma recomendada pela PEP 8.

Não temos um teste próprio publicado especificamente sobre a barra invertida (o material de bastidor do canal cobre outro tema, união de lista em string com o método join). O que vale testar em primeira mão e mostrar o print real: rodar caminho = "C:\diretorio" no Python 3.12 ou mais novo e capturar o SyntaxWarning que aparece no terminal, e comparar com r"C:\diretorio" rodando limpo. Esse antes e depois com a saída real é o que os resultados genéricos da busca não mostram

Perguntas frequentes

Qual a diferença entre barra (/) e barra invertida (\) no Python?

A barra invertida (\), ou contra barra, inclina pra esquerda e serve pra escape de caracteres e pra continuação de linha no código. A barra normal (/) inclina pra direita e é o operador de divisão. Uma não substitui a outra

Pra que serve a barra invertida no fim da linha?

Ela une a linha física atual com a próxima, formando uma única linha lógica (junção explícita). A \ e a quebra de linha somem, e o Python lê tudo como se fosse uma linha só. A única exceção é dentro de uma string, onde a \ no fim não serve pra continuar o token

Como usar um caminho do Windows com barra invertida sem dar problema?

Use raw string, colocando um r antes das aspas: r"C:\diretorio". Assim o Python não interpreta a \ como escape. A partir do Python 3.12, escrever "C:\diretorio" direto gera um SyntaxWarning, porque \d não é escape válido. A outra saída é escapar a barra: "C:\\diretorio"

Preciso de barra invertida pra quebrar o código em várias linhas?

Nesses casos o Python entende a continuação sozinho (junção implícita), e essa é a forma preferida pela PEP 8. A \ no fim da linha só é necessária fora desses agrupadores

Leia também

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares