Sequências de fuga permitem-lhe incluir caracteres especiais nas cordas. Para fazer isso, basta adicionar uma barra invertida (\) antes do caractere que você deseja escapar.
Por exemplo, imagine que você iniciou uma string com aspas simples:
s = 'Hey, whats up?'print(s)
Output:
Hey, whats up?
Mas se você incluir um apóstrofo sem escapar dele, então você receberá um erro:
s = 'Hey, what's up?'print(s)
Output:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Para corrigir isso, basta escapar do apóstrofo:
s = 'Hey, what\'s up?'print(s)
Para adicionar novas linhas à sua string, use \n:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline stringscan be createdusing escape sequences.
Uma coisa importante a lembrar é que, se quiser incluir um caractere de contrabarra numa string, terá de escapar a isso. Por exemplo, se você quiser imprimir um caminho de diretório no Windows, você precisará escapar de cada barra invertida na string:
print("C:\Users\Pat\Desktop")
Eliminar:
C:\Users\Pat\Desktop
Raw strings
Uma string bruta pode ser usada prefixando a string com r ou R, o que permite que barras invertidas sejam incluídas sem a necessidade de escapar delas. Por exemplo:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Eliminar:
Backslashes \ don't need to be escaped in raw strings.
Mas tenha em mente que as contrabarras não escalonadas no final de uma string crua irão causar e erro:
print(r"There's an unescaped backslash at the end of this string\")
Eliminar:
File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^SyntaxError: EOL while scanning string literal
| Sequência de fuga | Medição |
|---|---|
Backslash (\) |
|
| ‘ | Single quote (') |
| “ | Duplo quote (") |
| \n | ASCII Linefeed (adiciona nova linha) |
| \b | ASCII Backspace |
Uma lista completa de sequências de fuga pode ser encontrada aqui nos documentos Python.