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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.