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ć.

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.

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

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

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ą.

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.

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.

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

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.

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):

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

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:

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 🙂
