Escape szekvenciák a Pythonban

A menekülési szekvenciák lehetővé teszik speciális karakterek felvételét a húrokba. Ehhez egyszerűen tegyen egy hátlapot ( \) az elhagyni kívánt karakter elé.

Például képzelje el, hogy inicializált egy karakterláncot egyetlen idézőjelben:

s = 'Hey, whats up?' print(s)

Kimenet:

Hey, whats up?

De ha aposztrófot is tartalmaz anélkül, hogy elkerülné, akkor hibát fog kapni:

s = 'Hey, what's up?' print(s)

Kimenet:

 File "main.py", line 1 s = 'Hey, what's up?' ^ SyntaxError: invalid syntax

Ennek kijavításához egyszerűen kerülje el az aposztrófot:

s = 'Hey, what\'s up?' print(s)

Új sorok hozzáadásához a karakterlánchoz használja \n:

print("Multiline strings\ncan be created\nusing escape sequences.")

Kimenet:

Multiline strings can be created using escape sequences.

Fontos megjegyezni, hogy ha visszafelé mutató karaktert akar beilleszteni egy karakterláncba, akkor ezt meg kell kerülnie. Például, ha egy könyvtár elérési útját szeretné kinyomtatni a Windows rendszerben, akkor meg kell kerülnie a karakterlánc minden hátlapját:

print("C:\\Users\\Pat\\Desktop")

Kimenet:

C:\Users\Pat\Desktop

Nyers húrok

A nyers string lehet használni előtaggal az karakterláncot rvagy R, ami lehetővé teszi a backslasheknél felveendő anélkül, hogy elkerülje őket. Például:

print(r"Backslashes \ don't need to be escaped in raw strings.") 

Kimenet:

Backslashes \ don't need to be escaped in raw strings.

De ne felejtsük el, hogy a nyers karakterlánc végén lévő, elkerülhetetlen visszavonások hibát okoznak:

print(r"There's an unescaped backslash at the end of this string\")

Kimenet:

 File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^ SyntaxError: EOL while scanning string literal

Közös menekülési szekvenciák

Menekülés szekvencia Jelentése
\ Visszavonás ( \)
" Egyetlen idézet ( ')
" Dupla idézet ( ")
\ n ASCII Linefeed (új sort ad)
\ b ASCII Backspace

A menekülési szekvenciák teljes listája itt található a Python-dokumentumokban.