2022-05-15

Myśląc o Pythonie: tekst czyli string cz.1

Program często komunikuję się z użytkownikiem, a robi to za pomocą tekstu. Tekst jest w programach wyświetlany, wprowadzany czy przetwarzany, w językach programowania teksty to często po prostu łańcuchy/ tablice znaków. Nazywamy je stringami.

W Pythonie mamy także do czynienia ze stringami, i możemy się nimi fajnie bawić - mamy dużo metod do przetwarzania stringów. Jest to podstawowy typ danych pozwalający przykładowo wprowadzić czy wyświetlić nazwę lub treść komunikatu.

Zasięg stringa i jego identyfikowalność

Tekst w językach programowania ma początek i koniec, ponieważ komputer musi wiedzieć i mieć oddzielony dany tekst od innych rzeczy - słów kluczowych języka, czy chociażby liczb, które mogą przecież wystąpić także w tekście. Do zaznaczania początku i końca łańcucha tekstowego w Pythonie, możemy użyć cudzysłowu lub apostrofów:

"to jest tekst"

'to jest tekst'

Możliwe jest też stosowanie razem wspomnianych znaków początku i końca tekstu w takim sensie, że możemy w środku apostrofów umieścić cudzysłów (i zostanie on wyświetlony) lub odwrotnie.

Zagnieżdżanie stringów

Operacje na stringach

Na stringach w Pythonie możemy wykonywać wiele operacji, sama biblioteka standardowa udostępnia wiele metod służących do pracy na stringach. Jedna z podstawowych operacji to tzw. konkatenacja.

Konkatenacja - połączenie dwóch lub więcej stringów w jeden dłuższy. Realizujemy to poprzez operator dodawania dodany między stringami.

Konkatenacja stringów

Widzimy, że ten sam operator - plus z działania dodawania na liczbach - może być używany w różnych kontekstach. Operatory zatem mogą pełnić różne funkcje, w zależności od tego na jakich danych pracują. Jeśli operatora dodawania użyjemy na liczbach to otrzymamy sumę tych liczb, jeśli zaś na stringach, uzyskamy konkatenacje, czyli po prostu połączenie stringów.

Jak mówiliśmy stringi są po prostu takimi tablico-łańcuchami znaków. Oznacza to, że do każdej litery możemy odwołać się jak do elementu listy - po jego indeksie (oczywiście numerujemy od zera).

Indexy w tekście w języku Python/

Po co Nam indexy? A no po to by można było się odwołać do konkretnej litery i ją zmienić, albo do wypisania wszystkich liter danego słowa. Możemy też sprawdzać czy ostatnia litera to a, co może ułatwiać znalezienie imion kobiecych.

Konkatenacja i inne w praktyce

Jak w praktyce wygląda konkatenacja? Nic trudnego, wystarczy między dwie zmienne lub bezpośrednio stringi, wstawić plusik, jak poniżej.

Konkatenacja w Pythonie

Powyższy kod wyświetli nam napis 'kurspython', nie zmieniając w żaden sposób składowych stringów biorących udział w operacji konkatenacji. Natomiast gdybyśmy chcieli wprowadzić odstęp między słowami 'kurs' i 'python' - musielibyśmy dodać w którymś spację, lub w samym działaniu dopisać jeszcze ciąg znaków zawierjący spację:

Konkatenacja ze spacją w środku.

Możemy też dostać się do konkretnego znaku w tekście używając składni z nawiasami kwadratowymi, dopisując je po nazwie stringa. Gdybyśmy np. chcieli dostać się do litery 'h' w stringu 'python' - musimy odwołać się do indeksu numer 3, bowiem numerację zaczynamy od zera.

Odwyływanie się do konkretnego znaku w słowie.

Powyższy kod wyświetli nam oczywiście literę h, natomiast odwołanie się do znaku przykładowo o numerze 10, wyświetli nam błąd, mówiący, że nie mamy tylu indeksów:

Błąd, gdy odwołując się do znaku w słowie, wpiszemy za duży numer indeksu.

W następnym poście opowiemy sobie jeszcze więcej o stringach, do zobaczenia! Siła w kodzie 🙂

One comment on “Myśląc o Pythonie: tekst czyli string cz.1”

Dodaj komentarz

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram