Escape sekvence umožňují vkládat do řetězců speciální znaky. Chcete-li tak učinit, stačí před znak, který chcete escapovat, přidat zpětné lomítko (\
).
Představte si například, že jste inicializovali řetězec s jednoduchými uvozovkami:
s = 'Hey, whats up?'print(s)
Výstup:
Hey, whats up?
Pokud však zahrnete apostrof, aniž byste ho escapovali, zobrazí se chyba:
s = 'Hey, what's up?'print(s)
Výstup:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Chcete-li to napravit, stačí apostrof escapovat:
s = 'Hey, what\'s up?'print(s)
Chcete-li do řetězce přidat nové řádky, použijte \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Výstup:
Multiline stringscan be createdusing escape sequences.
Důležité je pamatovat na to, že pokud chcete do řetězce zahrnout znak zpětného lomítka, musíte jej escapovat. Chcete-li například vypsat cestu k adresáři v systému Windows, budete muset každé zpětné lomítko v řetězci escapovat:
print("C:\Users\Pat\Desktop")
Výstup:
C:\Users\Pat\Desktop
Surové řetězce
Surový řetězec lze použít tak, že před řetězec vložíte předponu r
nebo R
, což umožňuje zahrnout zpětná lomítka bez nutnosti jejich escapování. Například:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Výstup:
Backslashes \ don't need to be escaped in raw strings.
Mějte však na paměti, že nezapsaná zpětná lomítka na konci surového řetězce způsobí chybu a:
print(r"There's an unescaped backslash at the end of this string\")
Výstup:
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 sekvence | Význam |
---|---|
\ | Zpětné lomítko (\ ) |
‚ | Jednotlivé uvozovky (' ) |
„ | Dvojité Citace (" ) |
\n | ASCII Linefeed (přidává nový řádek) |
\b | ASCII Backspace |
Úplný seznam escape sekvencí najdete zde v dokumentaci Pythonu.