Le sequenze di escape ti permettono di includere caratteri speciali nelle stringhe. Per fare questo, aggiungete semplicemente un backslash (\
) prima del carattere che volete sfuggire.
Per esempio, immagina di aver inizializzato una stringa con virgolette singole:
s = 'Hey, whats up?'print(s)
Output:
Hey, whats up?
Ma se includi un apostrofo senza escape, otterrai un errore:
s = 'Hey, what's up?'print(s)
Output:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Per risolvere il problema, fai l’escape dell’apostrofo:
s = 'Hey, what\'s up?'print(s)
Per aggiungere newlines alla tua stringa, usa \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline stringscan be createdusing escape sequences.
Una cosa importante da ricordare è che, se vuoi includere un carattere backslash in una stringa, dovrai fare l’escape. Per esempio, se vuoi stampare un percorso di directory in Windows, dovrai fare l’escape di ogni backslash nella stringa:
print("C:\Users\Pat\Desktop")
Output:
C:\Users\Pat\Desktop
Stringhe grezze
Una stringa grezza può essere usata facendo precedere la stringa da r
o R
, che permette di includere backslash senza bisogno di escape. Per esempio:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Output:
Backslashes \ don't need to be escaped in raw strings.
Ma tieni presente che i backslash senza escape alla fine di una stringa grezza causeranno un errore:
print(r"There's an unescaped backslash at the end of this string\")
Output:
File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^SyntaxError: EOL while scanning string literal
Escape Sequence | Meaning |
---|---|
\2858> | Backslash (\ ) |
‘ | Citazione singola (' ) |
“ | Double quote (" ) |
\n | ASCII Linefeed (aggiunge newline) |
\b | ASCII Backspace |
Una lista completa di sequenze di escape può essere trovata qui nella documentazione Python.