2022-06-24

Myśląc o Pythonie: Stringi cz.2

Dziś kontynuujemy temat łańcuchów znaków, czyli po prostu tekstu w Pythonie. Należy jednak wspomnieć, że ta koncepcja rozciąga się na wiele innych języków programowania, nie mówimy tutaj zatem tylko o Pythonie.

W Pythonie mamy dostępną wielką ilość przetwarzania stringów, czyli po prostu wykonywania na nich różnych operacji. Zacznijmy od podstaw.

Operacje na stringach

Rozpoczniemy od sprawdzenia długości danego stringa, wyrażonej ilością znaków, użyjemy tu funkcji len(). Stwórzmy więc jakiegoś stringa i zobaczmy jak to wykonać.

Sprawdzanie długości napisu w języku Python

Powyżej mamy stworzony napis o nazwie "string1" i wartości "jakis sobie napis", a w następnej linii sprawdzamy jego długość funkcją len, której jako argument w nawiasie podajemy właśnie nazwę napisu, którego długość ma sprawdzić. Wszystko oczywiście wyświetlamy zawierając w funkcji print, bo len służy tylko do sprawdzania długości, sama nic nie wyświetla. Wynik widzimy poniżej.

Wynik działanie funkcji len na napisie.

Dlaczego akurat 17? Ano dlatego, że choć nie widać, spacja to też znak, więc też się liczy. Przykładowo, jak chcielibyśmy wyświetlić znak numer 5...

Wyświetlanie znaku spacji za pomocą odniesienia do indexu danego znaku w tekście, w języku Python.

....no, w ten czas nie zobaczymy niczego.

Efekt wyświetlenia znaku spacje w Pythonie.

Konwersja napisu na wielkie litery

Teraz możemy się pobawić z naszym napisem, zmieniając go jakoś 🙂 No właśnie przykładowo możemy zamienić go na duże litery. Do takich operacji służą Nam tak zwane metody. Cóż to jest zapytacie? Metoda to po prostu taka funkcja, ale będąca częścią wewnętrzną czegoś. Jeśli ubranie okala człowieka i jest tutaj funkcją, to metoda będzie tutaj częścią tego ubrania, tak jak np. guzik od koszuli.

Metoda jest po prostu czymś co możemy zastosować na jakimś konkretnym obiekcie, jest ona przypisana do tego obiektu, jako niejako jego atrybut. Przykładowo, jeśli mamy stringi to mamy też do nich od razu zestaw możliwych do użycia metod, jedną z nich jest .capitalize(), która służy właśnie do zamiany pierwszej litery na wielką.

Zmiana pierwszej litery na wielką w napisie, w języku Python.

Jak widzimy, po pierwsze używamy metod właśnie jako "części wewnętrznej" danego obiektu (w Pythonie wszystko jest obiektem). Dlatego używamy najpierw nazwy obiektu na jakim chcemy zastosować metodę, a po kropce, nazwę metody z nawiasami. Efekt działania powyższej metody widzimy poniżej.

W wynik działanie metody capitalize w Pythonie.

Jak widzimy pierwsza litera naszego napisu została zamieniona na wielką, czyli działa 🙂

Mamy do dyspozycji także inne metody, dla stringów jest także dostępna metoda .title(), która zamienia każdą pierwszą literę na wielką, zobaczmy na przykładzie Naszego napisu.

Użycie metody title w języku Python

Jak widzimy, używamy metody tak samo jak wszystkich metod, zobaczmy zatem rezultat:

Wynik działania metody title na stringu.

Wycinanie czyli slicing

W stringach, jak pamiętamy, mamy coś takiego jak indeks pojedynczego znaku i właśnie to wykorzystamy. Jak pamiętamy, możemy w kwadratowym nawiasie po nazwie stringa, zapisać jaki znak chcemy.

Wyświetlanie pojedynczego znaku w napisie, w języku Python.

Możemy też w nawiasie zamiast tylko numeru indeksu, zdefiniować sobie zakres indeksów, czyli finalnie liter jakie chcemy otrzymać z danego stringa. Przykładowo jeśli chcielibyśmy uzyskać słowo "ja" , czyli w naszym napisie litery stojące na indeksach 0 i 1, to wpisalibyśmy string1[0:2] - dlaczego na końcu dwa, zapytacie? Bowiem zawsze zakres to indeks od jakiego zaczynamy i indeks na jakim kończymy, ale minus 1, zobaczmy (oczywiście wartości początka i końca zakresu mogą być dowolne):

Definiowanie zakresu indeksów w napisie, za pomocą metody wycinania, w języku Python.

Wynikiem, jak możemy się domyślać, będą litery 'j' i 'a', będące na indeksach o numerach 0 i 1:

Wynik działania wycinania w stringach, w języku Python.

Oczywiście możemy teraz przykładowo jeszcze powiększyć pierwszą literę, spróbujcie zrobić to sami, a rozwiązanie znajdziecie na końcu artykułu.

Możemy też sobie przykładowo pomnożyć stringa przez jakąś liczbę, lub przez innego stringa.

Wynik to będzie po prostu, jak można się domyślić, string abc wypisany 5 razy, czyli:

Rozwiązania

Powiększyć pierwszą literę wyciętego stringa możemy na dwa sposoby, albo możemy zapisać go do zmiennej i na niej zastosować metodę title lub capitalize, ale można też zastosować jedną z nich bezpośrednio na wycinanym stringu, jak poniżej:

Powiększenie pierwszej litery bezpośrednio na wycinanym stringu.

Przedstawiony kodzik możecie przetestować sami :). W programowaniu nie ma jednej najlepszej drogi, dlatego każda droga prowadząca do celu będzie na początku dobra, niektóre mogą być bardzie optymalne 🙂

Dodaj komentarz

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