Kurs Python3: Znaki Ucieczki

Python

Ostatni sposób formatowania łańcuchów znaków

Poświęciliśmy dużo czasu na naukę formatowaniu, nadszedł czas na kolejną a zarazem ostatnią metodę formatowania łańcuchów znaków. Jeśli jesteś spostrzegawczy, to pokazuję kod, następnie wyjaśniam koncepcję. W tym ćwiczeniu będzie dokładnie tak samo, jeżeli czegoś nie zrozumiesz, zapisz to na kartce i idź dalej.

Kod

1. days = "Pon Wt Śr Czw Pt Sob Niedz"
2. months = "\nSty\nLut\nMar\nKwi\nMaj\nCze\nLip\nSie"
3.
4. print("Oto dni tygodnia: ", days)
5. print("Oto miesiące: ", months)
6.
7. print("""
8. Tutaj coś się dzieje.
9. Używamy trzech podwójnych cudzysłowów.
10. Będziemy w stanie wpisać dowlonie dużo tekstu.
11. Jeśli chcemy, nawet 4 linie albo 5 lub 6.
12. ..............................................
13. """)

Wyjście

$ python3.6 ex8.py
Oto dni tygodnia: Pon Wt Śr Czw Pt Sob Niedz
Oto miesiące:
Sty
Lut
Mar
Kwi
Maj
Cze
Lip
Sie

Tutaj coś się dzieje.
Używamy trzech podwójnych cudzysłowów.
Będziemy w stanie wpisać dowlonie dużo tekstu.
Jeśli chcemy, nawet 4 linie albo 5 lub 6.
..............................................

Między poszczególnymi cudzysłowami nie występuje spacja ” ” ” , prawidłowym zapis to 3 po sobie występujące podwójne cudzysłowy ””” , jest to częsty błąd początkujących.
Początkiem nowej linii, jak podczas wymieniania miesięcy jest sekwencja znaków \n. Tym wprowadzeniem zaczniemy naukę tytułowych znaków ucieczki.

Znaki ucieczki

Jak wspomniałem sekwencja \n (lewy ukośnik, n) pomiędzy poszczególnymi miesiącami wstawia w danym miejscu łańcucha znaków znak nowej linii. Lewy ukośnik (\) koduje w łańcuchu znaków trudne do wpisania znaki. Istnieje wiele sekwencji ucieczki (ang. escape sequences) dla różnych znaków, z których możemy skorzystać.
Często będziemy wstawiać pojedynczy (’) lub podwójny (”)”) cudzysłów. Jeśli napiszemy „Asia „może” chcieć to zrobić”, Python po prostu się pogubi, pomyśli że podwójne cudzysłowy wokół „może” w rzeczywistości kończą łańcuch znaków, zatem potrzebujemy sposobu aby podwójny cudzysłów w środku łańcucha znaków był wyświetlany. W tym celu stosuje się sekwencję ucieczki, np.

"Asia ma 6'\2" wzrostu." # podwójny cudzysłów w łańcuchu znaków
'Asia ma 6'\2" wzrostu.' # pojedynczy cudzysłów w łańcuchu znaków

Kod

1. tabby_cat = "\tJestem tabulatorem"
2. persian_cat = "Jestem podziałem\nlinii."
3. backslash_cat = "Jestem sobie \\ jakimś \\ kotem."
4.
5. fat_cat = '''
6. Zrobię listę:
7. \t* Jedzenie dla kota
8. \t* Rybki
9. \t* Kocimiętka\n\t* Trawa
10. '''
11. print(tabby_cat)
12. print(persian_cat)
13. print(backslash_cat)
14. print(fat_cat)

Wyjście

    Jestem tabulatorem
Jestem podziałem
linii.
Jestem sobie \ jakimś \ kotem.

Zrobię listę:
* Jedzenie dla kota
* Rybki
* Kocimiętka
* Trawa

Tabela sekwencji ucieczki

Poniższa tabela przedstawia wszystkie sekwencje ucieczki obsługiwane przez Pythona. Postaraj się zapamiętać większość z nich, mimo że będzie używanych tylko parę. Zastosuj je w naszym kodzie byś lepiej je zrozumiał.

Sekwencja ucieczkiFunkcja
\\Lewy ukośnik (\)
\’Pojedynczy cudzysłów (‘)
\”Podwójny cudzysłów ( ” )
\aZnak dzwonka ASCII (BEL)
\bZnak backspace ASCII (BS)
\fZnak wysunięcia strony ASCII (FF)
\nZnak nowej linii (LF)
\N{nazwa}Znak o nazwie nazwa z bazy danych Unicode
\rPowrót karetki (CR)
\tTabulator poziomy (TAB)
\uxxxxZnak reprezentowany przez 16-bitową wartość szesnastkową xxxx
\UxxxxxxxxZnak reprezentowany przez 32-bitową wartość szesnastkową xxxxxxxx
\vTabulator pionowy ASCII (VT)
\oooZnak reprezentowany przez ósemkową wartość ooo
\xhhZnak reprezentowany przez szesnastkową wartość hh

Dodaj komentarz