Rozdział 8 · Zabawa literami i słowami

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
\nznak nowej linii (new line)
\ttabulator (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:

escape_primer.py
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.

Po co w ogóle tarcza
Ukośnik wpleczny to znak serwisowy Python wewnątrz łańcuch znaków. Escaping wyjaśnia Python: „to nie następuje polecenie, lecz ten konkretny znak.” 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:

repr_vs_print.py
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
Podstawowa praktyka
Tablet z trzema liniami

Jednym print() komendy z \n wydrukuj trzy linie: "Imię: Ada", "Zawód: programist", "Rok: 1843".

Praktyka: uciekanie i repr()
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →