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.