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.