Python kan använda antingen apostrof eller citationstecken som strängavgränsare, och det "andra" tecknet behöver då inte specialbehandlas.
>>> print('Denna "sträng" är \'OK\'!')
Denna "sträng" är 'OK'!
>>> print("Denna 'sträng' är \"OK\"!")
Denna 'sträng' är "OK"!
Vad gäller backslash så används det som nämnts ovan vanligen för att indikera vissa speciella tecken, så som
'\n'
: ny rad
'\t'
: tabb
'\\'
: backslash själv
där den sista varianten är till för att skriva en explicit backslash utan att tolka efterföljande tecken som en modifierare. En lurig grej är annars att om man skriver en backslash som inte följs av en giltig modifierare så försöker Python vara snällt och tolkar det då "literalt", vilket gör att den som inte vet vad som pågår kan bli överraskad:
>>> print('\hej')
\hej
>>> print('\nej')
ej
2. Lexical analysis → 2.4. Literals → 2.4.1. String and Bytes literals i Python-dokumentationen ger hela listan av dessa modifierare.
Dock är det rätt sällan behovet att skriva backslash i strängar mot användaren dyker upp. Däremot är det väldigt vanligt när man skriver exempelvis reguljära uttryck. För att inte göra dessa än mer oläsbara än vad de av naturen ändå lätt är så kan man ange att en sträng är "rå" genom prefixet r
, vilket gör att backslashsekvenser inte tolkas däri (kortfattat sagt; läs om "raw strings" i manualen för mer exakt info):
Detta bör man använda för reguljära uttryck då det är praxis och underlättar, men troligen inte på speciellt många andra ställen.