Sekwencje ucieczki pozwalają na dołączanie znaków specjalnych do łańcuchów znaków. Aby to zrobić, po prostu dodaj odwrotny ukośnik (\
) przed znakiem, który chcesz uciec.
Na przykład, wyobraź sobie, że zainicjowałeś łańcuch pojedynczymi cudzysłowami:
s = 'Hey, whats up?'print(s)
Output:
Hey, whats up?
Ale jeśli dołączysz apostrof bez jego ucieczki, otrzymasz błąd:
s = 'Hey, what's up?'print(s)
Output:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Aby to naprawić, po prostu uciekaj od apostrofu:
s = 'Hey, what\'s up?'print(s)
Aby dodać nowe linie do swojego łańcucha, użyj \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline stringscan be createdusing escape sequences.
Ważną rzeczą do zapamiętania jest to, że jeśli chcesz zawrzeć znak odwrotnego ukośnika w łańcuchu, będziesz musiał go uciec. Na przykład, jeśli chcesz wydrukować ścieżkę do katalogu w systemie Windows, będziesz musiał uciec od każdego odwrotnego ukośnika w łańcuchu:
print("C:\Users\Pat\Desktop")
Wyjście:
C:\Users\Pat\Desktop
Surowe łańcuchy
Surowy łańcuch może być użyty przez poprzedzenie łańcucha znakiem r
lub R
, co pozwala na włączenie odwrotnych ukośników bez potrzeby uciekania od nich. Na przykład:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Wyjście:
Backslashes \ don't need to be escaped in raw strings.
Należy jednak pamiętać, że niewychwycone backslajsy na końcu surowego łańcucha spowodują błąd:
print(r"There's an unescaped backslash at the end of this string\")
Wyjście:
File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^SyntaxError: EOL while scanning string literal
Sekwencja wyciągnięcia | Znaczenie |
---|---|
Backslash (\ ) |
|
’ | Pojedynczy cytat (' ) |
„ | Podwójny cytat (" ) |
ASCII Linefeed (dodaje nową linię) | |
b | ASCII Backspace |
Pełną listę sekwencji ucieczki można znaleźć tutaj w dokumentach Pythona.