Escape-jaksojen avulla voit sisällyttää merkkijonoihin erikoismerkkejä. Voit tehdä tämän yksinkertaisesti lisäämällä backslash-merkin (\) ennen merkkiä, jonka haluat paeta.
Kuvittele esimerkiksi, että olet alustanut merkkijonon yksinkertaisilla lainausmerkeillä:
s = 'Hey, whats up?'print(s)
Tulos:
Hey, whats up?
Mutta jos lisäät siihen apostrofin ilman välilyöntiä, saat virheen:
s = 'Hey, what's up?'print(s)
Tulos:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Korjataksesi tämän, vältä apostrofi:
s = 'Hey, what\'s up?'print(s)
Lisätäksesi rivinvaihdon merkkijonoon, käytä \n:
print("Multiline strings\ncan be created\nusing escape sequences.")
Tulos:
Multiline stringscan be createdusing escape sequences.
Tärkeää on muistaa, että jos haluat sisällyttää merkkijonoon backslash-merkin, sinun on vältettävä se. Jos esimerkiksi haluat tulostaa hakemistopolun Windowsissa, sinun on vältettävä jokainen merkkijonon sisältämä backslash-merkki:
print("C:\Users\Pat\Desktop")
Output:
C:\Users\Pat\Desktop
Raaka merkkijono
Raaka merkkijonoa voidaan käyttää asettamalla merkkijonon etuliitteeksi merkkijono r:lla tai R:llä, mikä sallii backslash-merkkien sisällyttämisen siihen ilman, että niitä tarvitsee välttää. Esimerkiksi:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Tulostus:
Backslashes \ don't need to be escaped in raw strings.
Mutta pitää muistaa, että pelkistämättömät backslashit raw-merkkijonon lopussa aiheuttavat virheen:
print(r"There's an unescaped backslash at the end of this string\")
Tulostus:
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 (\) |
| ’ | Yksittäinen lainausmerkki (') |
| ” | Double quote (") |
| \n | ASCII Linefeed (lisää uuden rivin) |
| \b | ASCII Backspace |
Täydellinen listaus pakosekvensseistä löytyy täältä Pythonin dokumenteista.