Ucieczka: \n, \t i inni
Jak wstawić w łańcuch znaków znak, który nie ma własnego klawisza — i dlaczego to, co napisane w kodzie, nie zawsze zgadza się z tym, co wyświetlane jest na ekranie.
Znaki, których nie można wydrukować bezpośrednio
Czasem potrzebujesz znaku w linii, która nie ma własnego klucza — na przykład "end
strings" (łącznik) lub "tabulator". Dla nich Python ma sekwencje
pomocnicze (escape- sekwencja) to ukośnik wtwórczy
\ list plus:
| Twórczość | oznacza |
|---|---|
\n | znak nowej linii (new line) |
\t | tabulator (wcięcie) |
\\ | sam backslash |
\" | podwójny cudzysłów w łańcuch znaków w cudzysłowie |
\' | pojedynczy apostrof wewnątrz łańcuch znaków w pojedynczych cudzysłowach |
Tekst źródłowy vs wynik drukowany
kluczowa idea: Że ty piszesz w kodzie (z ukośnikami), i to, co naprawdę wydrukowane na ekranie (już bez nich), — dwa różne teksty:
print(„Pierwsza łańcuch znaków\nDruga łańcuch znaków”)
# Pierwszy łańcuch znaków
# Druga łańcuch znaków
print(„Imię:\tWage:”)
print(„Ada:\t28”)
# Imię: Wiek:
#Ada: 28
Symbol \n w kodzie źródłowym to DWA znaki (ukośnik i
"n"), ale Python rozumie je jako JEDEN specjalny znak "łamanie linii", który
Druk zamienia się w prawdziwy transfer — linia odwrotna nie jest już widoczna na ekranie.
print().repr() - Zobacz symbole serwisowe „tak, jak jest”
repr() drukuje łańcuch znaków tak, jak pojawia się w kodzie — z
ze wszystkimi odwrotnymi cechami, a nie z ich efektem. To świetne narzędzie do debugowania,
Do którego wrócimy w sekcji 8.17:
text = „Linia 1\nstroka 2”
print(text) # wypisuje DWA prawdziwe łańcuch znaków
print(repr(text)) # 'Linia 1\nstroka 2' – widoczna \n jako tekst
Jednym print() komendy z \n wydrukuj trzy linie: "Imię: Ada", "Zawód: programist", "Rok: 1843".