Az eszcape-szekvenciák lehetővé teszik speciális karakterek beillesztését a karakterláncokba. Ehhez egyszerűen adjunk egy backslash-t (\
) a menekíteni kívánt karakter elé.
Elképzeljük például, hogy egy szimpla idézőjelekkel inicializáltál egy karakterláncot:
s = 'Hey, whats up?'print(s)
Kimenet:
Hey, whats up?
De ha egy aposztrófot is beillesztesz anélkül, hogy kitérítenéd, akkor hibát kapsz:
s = 'Hey, what's up?'print(s)
Kimenet:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Az eset kijavításához egyszerűen lépd ki az aposztrófot:
s = 'Hey, what\'s up?'print(s)
Ha újsorokat akarsz hozzáadni a karakterláncodhoz, használd a \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Kimenet:
Multiline stringscan be createdusing escape sequences.
Egy fontos dolog, amit nem szabad elfelejtened, hogy ha backslash karaktert akarsz beilleszteni a karakterláncba, akkor azt is ki kell kerülnöd. Ha például egy könyvtár elérési útvonalát szeretné kinyomtatni Windowsban, akkor a karakterláncban minden egyes backslash karaktert escape-elni kell:
print("C:\Users\Pat\Desktop")
Output:
C:\Users\Pat\Desktop
Raw string
A nyers karakterláncot úgy használhatja, hogy a karakterlánc elé r
vagy R
karaktert ír, ami lehetővé teszi a backslash karakterek szerepeltetését anélkül, hogy azokat escape-elni kellene. 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 feledje, hogy a nyers karakterlánc végén lévő nem szedhető backslashek 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
Escape Sequence | Meaning |
---|---|
\ | Backslash (\ ) |
‘ | Egyszeres idézőjel (' ) |
“ | Dupla Idézőjel (" ) |
\n | ASCII Linefeed (új sor hozzáadása) |
\b | ASCII Backspace |
A menekülési szekvenciák teljes listája itt található a Python dokumentációban.